Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Przemyslaw Kaminski
haskell-gargantext
Commits
525abac1
Unverified
Commit
525abac1
authored
May 09, 2019
by
Nicolas Pouillard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[NGRAMS] refactor prior to orderBy
parent
f7b357a7
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
15 deletions
+17
-15
Ngrams.hs
src/Gargantext/API/Ngrams.hs
+17
-15
No files found.
src/Gargantext/API/Ngrams.hs
View file @
525abac1
...
@@ -55,7 +55,7 @@ import Data.Map.Strict (Map)
...
@@ -55,7 +55,7 @@ import Data.Map.Strict (Map)
import
qualified
Data.Set
as
Set
import
qualified
Data.Set
as
Set
import
Control.Category
((
>>>
))
import
Control.Category
((
>>>
))
import
Control.Concurrent
import
Control.Concurrent
import
Control.Lens
(
makeLenses
,
makePrisms
,
Getter
,
Iso
'
,
iso
,
from
,
(
.~
),
(
?=
),
(
#
),
to
,
folded
,
{-withIndex, ifolded,-}
view
,
use
,
(
^.
),
(
^..
),
(
^?
),
(
+~
),
(
%~
),
(
%=
),
sumOf
,
at
,
_Just
,
Each
(
..
),
itraverse_
,
both
,
mapped
,
forOf_
)
import
Control.Lens
(
makeLenses
,
makePrisms
,
Getter
,
Iso
'
,
iso
,
from
,
(
.~
),
(
?=
),
(
#
),
to
,
folded
,
{-withIndex, ifolded,-}
view
,
use
,
(
^.
),
(
^..
),
(
^?
),
(
+~
),
(
%~
),
(
%=
),
sumOf
,
at
,
_Just
,
Each
(
..
),
itraverse_
,
both
,
forOf_
)
import
Control.Monad.Error.Class
(
MonadError
)
import
Control.Monad.Error.Class
(
MonadError
)
import
Control.Monad.Reader
import
Control.Monad.Reader
import
Control.Monad.State
import
Control.Monad.State
...
@@ -883,6 +883,7 @@ getTableNgrams :: (RepoCmdM env err m, HasNodeError err, HasConnection env)
...
@@ -883,6 +883,7 @@ getTableNgrams :: (RepoCmdM env err m, HasNodeError err, HasConnection env)
getTableNgrams
nId
tabType
listId
limit_
offset
getTableNgrams
nId
tabType
listId
limit_
offset
listType
minSize
maxSize
searchQuery
=
do
listType
minSize
maxSize
searchQuery
=
do
lIds
<-
selectNodesWithUsername
NodeList
userMaster
let
let
ngramsType
=
ngramsTypeFromTabType
tabType
ngramsType
=
ngramsTypeFromTabType
tabType
offset'
=
maybe
0
identity
offset
offset'
=
maybe
0
identity
offset
...
@@ -899,23 +900,16 @@ getTableNgrams nId tabType listId limit_ offset
...
@@ -899,23 +900,16 @@ getTableNgrams nId tabType listId limit_ offset
selected_inner
roots
n
=
maybe
False
(`
Set
.
member
`
roots
)
(
n
^.
ne_root
)
selected_inner
roots
n
=
maybe
False
(`
Set
.
member
`
roots
)
(
n
^.
ne_root
)
finalize
tableMap
=
NgramsTable
$
roots
<>
inners
selectAndPaginate
tableMap
(
NgramsTable
list
)
=
NgramsTable
$
roots
<>
inners
where
where
rootOf
ne
=
maybe
ne
(
\
r
->
ngramsElementFromRepo
(
r
,
fromMaybe
(
panic
"getTableNgrams: invalid root"
)
(
tableMap
^.
at
r
)))
rootOf
ne
=
maybe
ne
(
\
r
->
ngramsElementFromRepo
(
r
,
fromMaybe
(
panic
"getTableNgrams: invalid root"
)
(
tableMap
^.
v_data
.
at
r
)))
(
ne
^.
ne_root
)
(
ne
^.
ne_root
)
list
=
ngramsElementFromRepo
<$>
Map
.
toList
tableMap
selected_nodes
=
list
&
take
limit_
.
drop
offset'
.
filter
selected_node
selected_nodes
=
list
&
take
limit_
.
drop
offset'
.
filter
selected_node
roots
=
rootOf
<$>
selected_nodes
roots
=
rootOf
<$>
selected_nodes
rootsSet
=
Set
.
fromList
(
_ne_ngrams
<$>
roots
)
rootsSet
=
Set
.
fromList
(
_ne_ngrams
<$>
roots
)
inners
=
list
&
filter
(
selected_inner
rootsSet
)
inners
=
list
&
filter
(
selected_inner
rootsSet
)
-- lists <- catMaybes <$> listsWith userMaster
setOccurrences
table
=
do
-- trace (show lists) $
-- getNgramsTableMap ({-lists <>-} listIds) ngramsType
table
<-
getNgramsTableMap
listId
ngramsType
&
mapped
.
v_data
%~
finalize
lIds
<-
selectNodesWithUsername
NodeList
userMaster
occurrences
<-
getOccByNgramsOnlySafe
nId
(
lIds
<>
[
listId
])
ngramsType
(
table
^..
v_data
.
_NgramsTable
.
each
.
ne_ngrams
)
occurrences
<-
getOccByNgramsOnlySafe
nId
(
lIds
<>
[
listId
])
ngramsType
(
table
^..
v_data
.
_NgramsTable
.
each
.
ne_ngrams
)
let
let
...
@@ -923,6 +917,14 @@ getTableNgrams nId tabType listId limit_ offset
...
@@ -923,6 +917,14 @@ getTableNgrams nId tabType listId limit_ offset
pure
$
table
&
v_data
.
_NgramsTable
.
each
%~
setOcc
pure
$
table
&
v_data
.
_NgramsTable
.
each
%~
setOcc
-- lists <- catMaybes <$> listsWith userMaster
-- trace (show lists) $
-- getNgramsTableMap ({-lists <>-} listIds) ngramsType
tableMap
<-
getNgramsTableMap
listId
ngramsType
let
table
=
tableMap
&
v_data
%~
(
NgramsTable
.
fmap
ngramsElementFromRepo
.
Map
.
toList
)
setOccurrences
$
table
&
v_data
%~
selectAndPaginate
tableMap
-- APIs
-- APIs
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment