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
e4de05a3
Commit
e4de05a3
authored
Jul 03, 2020
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[cache] last modification header cache: first drafts
parent
19071e4b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
42 additions
and
15 deletions
+42
-15
README.md
README.md
+16
-0
shell.nix
shell.nix
+10
-0
Metrics.hs
src/Gargantext/API/Metrics.hs
+15
-15
Hyperdata.hs
src/Gargantext/Database/Admin/Types/Hyperdata.hs
+1
-0
No files found.
README.md
View file @
e4de05a3
...
@@ -121,3 +121,19 @@ Then you can log in with `user1:1resu`.
...
@@ -121,3 +121,19 @@ Then you can log in with `user1:1resu`.
stack --docker exec gargantext-cli -- CorpusFromGarg.csv ListFromGarg.csv Ouput.json
stack --docker exec gargantext-cli -- CorpusFromGarg.csv ListFromGarg.csv Ouput.json
Haskell fused-effects-profile
https://www.simplehaskell.org/
## REPL tips
Some tips to use the Haskell REPL.
### Query database for node
```
haskell
:
set
-
XFlexibleContexts
:
m
+
Data
.
Aeson
:
m
+
Data
.
Proxy
let
getN
n
=
getNode
n
::
Cmd
GargError
(
Gargantext
.
Core
.
Types
.
Node
Value
)
runCmdRepl
$
getN
<
id
>
```
shell.nix
View file @
e4de05a3
{
pkgs
?
import
./pinned-19.09.nix
{}
}:
{
pkgs
?
import
./pinned-19.09.nix
{}
}:
let
hie
=
(
import
(
pkgs
.
fetchFromGitHub
{
owner
=
"domenkozar"
;
repo
=
"hie-nix"
;
rev
=
"e3113da"
;
sha256
=
"05rkzjvzywsg66iafm84xgjlkf27yfbagrdcb8sc9fd59hrzyiqk"
;
})
{})
.
hie84
;
in
pkgs
.
mkShell
{
pkgs
.
mkShell
{
buildInputs
=
with
pkgs
;
[
buildInputs
=
with
pkgs
;
[
docker-compose
docker-compose
#hie
#glibc
#glibc
#gmp
#gmp
#gsl
#gsl
...
...
src/Gargantext/API/Metrics.hs
View file @
e4de05a3
...
@@ -49,42 +49,42 @@ type ScatterAPI = Summary "SepGen IncExc metrics"
...
@@ -49,42 +49,42 @@ type ScatterAPI = Summary "SepGen IncExc metrics"
:>
QueryParam
"list"
ListId
:>
QueryParam
"list"
ListId
:>
QueryParamR
"ngramsType"
TabType
:>
QueryParamR
"ngramsType"
TabType
:>
QueryParam
"limit"
Int
:>
QueryParam
"limit"
Int
:>
Get
'[
J
SON
]
(
HashedResponse
Metrics
)
:>
Header
"If-Modified-Since"
Text
:>
Get
(
Headers
'[
S
ervant
.
Header
"Last-Modified"
]
Text
Metrics
)
:<|>
Summary
"Scatter update"
:<|>
Summary
"Scatter update"
:>
QueryParam
"list"
ListId
:>
QueryParam
"list"
ListId
:>
QueryParamR
"ngramsType"
TabType
:>
QueryParamR
"ngramsType"
TabType
:>
QueryParam
"limit"
Int
:>
QueryParam
"limit"
Int
:>
Post
'[
J
SON
]
()
:>
Post
'[
J
SON
]
()
:<|>
"md5"
:>
Summary
"Scatter MD5"
:>
QueryParam
"list"
ListId
:>
QueryParamR
"ngramsType"
TabType
:>
Get
'[
J
SON
]
Text
scatterApi
::
NodeId
->
GargServer
ScatterAPI
scatterApi
::
NodeId
->
GargServer
ScatterAPI
scatterApi
id'
=
getScatter
id'
scatterApi
id'
=
getScatter
id'
:<|>
updateScatter
id'
:<|>
updateScatter
id'
:<|>
getScatterMD5
id'
getScatter
::
FlowCmdM
env
err
m
=>
getScatter
::
FlowCmdM
env
err
m
=>
CorpusId
CorpusId
->
Maybe
ListId
->
Maybe
ListId
->
TabType
->
TabType
->
Maybe
Limit
->
Maybe
Limit
->
m
(
HashedResponse
Metrics
)
->
Maybe
Text
getScatter
cId
maybeListId
tabType
_maybeLimit
=
do
->
m
Metrics
getScatter
cId
maybeListId
tabType
_maybeLimit
mLMSent
=
do
listId
<-
case
maybeListId
of
listId
<-
case
maybeListId
of
Just
lid
->
pure
lid
Just
lid
->
pure
lid
Nothing
->
defaultList
cId
Nothing
->
defaultList
cId
node
<-
getNodeWith
listId
(
Proxy
::
Proxy
HyperdataList
)
node
<-
getNodeWith
listId
(
Proxy
::
Proxy
HyperdataList
)
let
HyperdataList
{
hd_scatter
=
mChart
}
=
node
^.
node_hyperdata
let
HyperdataList
{
hd_scatter
=
mChart
,
hd_last_modified
=
mLM
}
=
node
^.
node_hyperdata
chart
<-
case
mChart
of
(
chart
,
lastModified
)
<-
case
mLM
of
Just
chart
->
pure
chart
Nothing
->
do
updateScatter'
cId
maybeListId
tabType
Nothing
Just
lastModified
->
case
mChart
of
Nothing
->
do
Nothing
->
do
updateScatter'
cId
maybeListId
tabType
Nothing
updateScatter'
cId
maybeListId
tabType
Nothing
Just
chart
->
pure
chart
pure
$
constructHashedResponse
chart
pure
$
addHeader
lastModified
chart
updateScatter
::
FlowCmdM
env
err
m
=>
updateScatter
::
FlowCmdM
env
err
m
=>
CorpusId
CorpusId
...
...
src/Gargantext/Database/Admin/Types/Hyperdata.hs
View file @
e4de05a3
...
@@ -233,6 +233,7 @@ data HyperdataList =
...
@@ -233,6 +233,7 @@ data HyperdataList =
,
hd_pie
::
!
(
Maybe
(
ChartMetrics
Histo
))
,
hd_pie
::
!
(
Maybe
(
ChartMetrics
Histo
))
,
hd_scatter
::
!
(
Maybe
Metrics
)
,
hd_scatter
::
!
(
Maybe
Metrics
)
,
hd_tree
::
!
(
Maybe
(
ChartMetrics
[
MyTree
]))
,
hd_tree
::
!
(
Maybe
(
ChartMetrics
[
MyTree
]))
,
hd_last_modified
::
!
(
Maybe
Text
)
}
deriving
(
Show
,
Generic
)
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"hd_"
)
''
H
yperdataList
)
$
(
deriveJSON
(
unPrefix
"hd_"
)
''
H
yperdataList
)
...
...
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