Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
147
Issues
147
List
Board
Labels
Milestones
Merge Requests
6
Merge Requests
6
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
gargantext
haskell-gargantext
Commits
ed4debe3
Commit
ed4debe3
authored
Aug 29, 2019
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FEAT] External APIs HAL AND IsTex.
parent
6cbc1f5e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
73 additions
and
23 deletions
+73
-23
API.hs
src/Gargantext/Text/Corpus/API.hs
+4
-5
Hal.hs
src/Gargantext/Text/Corpus/API/Hal.hs
+30
-4
Isidore.hs
src/Gargantext/Text/Corpus/API/Isidore.hs
+1
-9
Istex.hs
src/Gargantext/Text/Corpus/API/Istex.hs
+38
-5
No files found.
src/Gargantext/Text/Corpus/API.hs
View file @
ed4debe3
...
...
@@ -27,7 +27,6 @@ import Test.QuickCheck.Arbitrary
import
Test.QuickCheck
(
elements
)
import
Data.Swagger
import
qualified
Gargantext.Text.Corpus.API.Pubmed
as
PUBMED
import
qualified
Gargantext.Text.Corpus.API.Isidore
as
ISIDORE
import
qualified
Gargantext.Text.Corpus.API.Hal
as
HAL
...
...
@@ -37,8 +36,8 @@ import qualified Gargantext.Text.Corpus.API.Istex as ISTEX
data
ExternalAPIs
=
All
|
PubMed
|
H
al
_EN
|
H
al
_FR
|
H
AL
_EN
|
H
AL
_FR
|
IsTex_EN
|
IsTex_FR
...
...
@@ -55,8 +54,8 @@ get All _ _ = undefined
get
PubMed
q
l
=
PUBMED
.
get
q
l
get
H
al
_EN
q
l
=
HAL
.
get
EN
q
l
get
H
al
_FR
q
l
=
HAL
.
get
FR
q
l
get
H
AL
_EN
q
l
=
HAL
.
get
EN
q
l
get
H
AL
_FR
q
l
=
HAL
.
get
FR
q
l
get
IsTex_EN
q
l
=
ISTEX
.
get
EN
q
l
get
IsTex_FR
q
l
=
ISTEX
.
get
FR
q
l
...
...
src/Gargantext/Text/Corpus/API/Hal.hs
View file @
ed4debe3
...
...
@@ -16,15 +16,41 @@ module Gargantext.Text.Corpus.API.Hal
where
import
Data.Maybe
import
Data.Text
(
Text
)
import
Data.Text
(
Text
,
pack
,
intercalate
)
import
Gargantext.Prelude
import
Gargantext.Core
(
Lang
(
..
))
import
qualified
Gargantext.Text.Corpus.Parsers.Date
as
Date
import
Gargantext.Database.Types.Node
(
HyperdataDocument
(
..
))
import
qualified
Data.Text
as
Text
import
qualified
HAL
as
HAL
import
qualified
HAL
as
HAL
import
qualified
HAL.Doc.Corpus
as
HAL
import
qualified
HAL.Client
as
HAL
get
::
Lang
->
Text
->
Maybe
Integer
->
IO
[
HyperdataDocument
]
get
la
q
li
=
undefined
get
la
q
ml
=
do
docs
<-
HAL
.
getMetadataWith
q
(
fromIntegral
<$>
ml
)
either
(
panic
.
pack
.
show
)
(
\
d
->
mapM
(
toDoc'
la
)
$
HAL
.
_docs
d
)
docs
toDoc'
::
Lang
->
HAL
.
Corpus
->
IO
HyperdataDocument
toDoc'
la
(
HAL
.
Corpus
i
t
ab
d
s
aus
affs
)
=
do
(
utctime
,
(
pub_year
,
pub_month
,
pub_day
))
<-
Date
.
dateSplit
la
(
maybe
(
Just
"2019"
)
Just
d
)
pure
$
HyperdataDocument
(
Just
"Hal"
)
(
Just
$
pack
$
show
i
)
Nothing
Nothing
Nothing
Nothing
(
Just
$
intercalate
" "
t
)
(
Just
$
foldl
(
\
x
y
->
x
<>
", "
<>
y
)
""
aus
)
(
Just
$
foldl
(
\
x
y
->
x
<>
", "
<>
y
)
""
affs
)
s
(
Just
$
intercalate
" "
ab
)
(
fmap
(
pack
.
show
)
utctime
)
pub_year
pub_month
pub_day
Nothing
Nothing
Nothing
(
Just
$
(
pack
.
show
)
la
)
src/Gargantext/Text/Corpus/API/Isidore.hs
View file @
ed4debe3
...
...
@@ -71,7 +71,7 @@ isidoreToDoc l (IsidoreDoc t a d u s as) = do
(
utcTime
,
(
pub_year
,
pub_month
,
pub_day
))
<-
Date
.
dateSplit
l
(
maybe
(
Just
"2019"
)
(
Just
)
d
)
pure
$
HyperdataDocument
(
Just
"Isidore
Api
"
)
pure
$
HyperdataDocument
(
Just
"Isidore"
)
Nothing
u
Nothing
...
...
@@ -92,11 +92,3 @@ isidoreToDoc l (IsidoreDoc t a d u s as) = do
(
Just
$
(
Text
.
pack
.
show
)
l
)
src/Gargantext/Text/Corpus/API/Istex.hs
View file @
ed4debe3
...
...
@@ -15,17 +15,50 @@ Portability : POSIX
module
Gargantext.Text.Corpus.API.Istex
where
import
Data.Either
(
either
)
import
Data.Maybe
import
Data.Text
(
Text
)
import
Data.List
(
concat
)
import
Data.Maybe
(
catMaybes
)
import
Data.Text
(
Text
,
pack
)
import
Gargantext.Prelude
import
Gargantext.Core
(
Lang
(
..
))
import
qualified
Gargantext.Text.Corpus.Parsers.Date
as
Date
import
Gargantext.Database.Types.Node
(
HyperdataDocument
(
..
))
import
qualified
Data.Text
as
Text
import
qualified
ISTEX
as
ISTEX
import
qualified
ISTEX.Client
as
ISTEX
get
::
Lang
->
Text
->
Maybe
Integer
->
IO
[
HyperdataDocument
]
get
la
q
ml
=
undefined
get
la
q
ml
=
do
docs
<-
ISTEX
.
getMetadataWith
q
(
fromIntegral
<$>
ml
)
either
(
panic
.
pack
.
show
)
(
toDoc'
la
)
docs
toDoc'
::
Lang
->
ISTEX
.
Documents
->
IO
[
HyperdataDocument
]
toDoc'
la
docs'
=
do
--printDebug "ISTEX" (ISTEX._documents_total docs')
mapM
(
toDoc
la
)
(
ISTEX
.
_documents_hits
docs'
)
-- | TODO remove dateSplit here
-- TODO current year as default
toDoc
::
Lang
->
ISTEX
.
Document
->
IO
HyperdataDocument
toDoc
la
(
ISTEX
.
Document
i
t
a
ab
d
s
)
=
do
(
utctime
,
(
pub_year
,
pub_month
,
pub_day
))
<-
Date
.
dateSplit
la
(
maybe
(
Just
"2019"
)
(
Just
.
pack
.
show
)
d
)
pure
$
HyperdataDocument
(
Just
"Istex"
)
(
Just
i
)
Nothing
Nothing
Nothing
Nothing
t
(
Just
$
foldl
(
\
x
y
->
x
<>
", "
<>
y
)
""
(
map
ISTEX
.
_author_name
a
))
(
Just
$
foldl
(
\
x
y
->
x
<>
", "
<>
y
)
""
(
concat
$
(
map
ISTEX
.
_author_affiliations
)
a
))
(
Just
$
foldl
(
\
x
y
->
x
<>
", "
<>
y
)
""
(
catMaybes
$
map
ISTEX
.
_source_title
s
))
ab
(
fmap
(
pack
.
show
)
utctime
)
pub_year
pub_month
pub_day
Nothing
Nothing
Nothing
(
Just
$
(
pack
.
show
)
la
)
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