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
145
Issues
145
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
Show 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
...
@@ -27,7 +27,6 @@ import Test.QuickCheck.Arbitrary
import
Test.QuickCheck
(
elements
)
import
Test.QuickCheck
(
elements
)
import
Data.Swagger
import
Data.Swagger
import
qualified
Gargantext.Text.Corpus.API.Pubmed
as
PUBMED
import
qualified
Gargantext.Text.Corpus.API.Pubmed
as
PUBMED
import
qualified
Gargantext.Text.Corpus.API.Isidore
as
ISIDORE
import
qualified
Gargantext.Text.Corpus.API.Isidore
as
ISIDORE
import
qualified
Gargantext.Text.Corpus.API.Hal
as
HAL
import
qualified
Gargantext.Text.Corpus.API.Hal
as
HAL
...
@@ -37,8 +36,8 @@ import qualified Gargantext.Text.Corpus.API.Istex as ISTEX
...
@@ -37,8 +36,8 @@ import qualified Gargantext.Text.Corpus.API.Istex as ISTEX
data
ExternalAPIs
=
All
data
ExternalAPIs
=
All
|
PubMed
|
PubMed
|
H
al
_EN
|
H
AL
_EN
|
H
al
_FR
|
H
AL
_FR
|
IsTex_EN
|
IsTex_EN
|
IsTex_FR
|
IsTex_FR
...
@@ -55,8 +54,8 @@ get All _ _ = undefined
...
@@ -55,8 +54,8 @@ get All _ _ = undefined
get
PubMed
q
l
=
PUBMED
.
get
q
l
get
PubMed
q
l
=
PUBMED
.
get
q
l
get
H
al
_EN
q
l
=
HAL
.
get
EN
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
_FR
q
l
=
HAL
.
get
FR
q
l
get
IsTex_EN
q
l
=
ISTEX
.
get
EN
q
l
get
IsTex_EN
q
l
=
ISTEX
.
get
EN
q
l
get
IsTex_FR
q
l
=
ISTEX
.
get
FR
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
...
@@ -16,15 +16,41 @@ module Gargantext.Text.Corpus.API.Hal
where
where
import
Data.Maybe
import
Data.Maybe
import
Data.Text
(
Text
)
import
Data.Text
(
Text
,
pack
,
intercalate
)
import
Gargantext.Prelude
import
Gargantext.Prelude
import
Gargantext.Core
(
Lang
(
..
))
import
Gargantext.Core
(
Lang
(
..
))
import
qualified
Gargantext.Text.Corpus.Parsers.Date
as
Date
import
Gargantext.Database.Types.Node
(
HyperdataDocument
(
..
))
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.Doc.Corpus
as
HAL
import
qualified
HAL.Client
as
HAL
get
::
Lang
->
Text
->
Maybe
Integer
->
IO
[
HyperdataDocument
]
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
...
@@ -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
)
(
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
Nothing
u
u
Nothing
Nothing
...
@@ -92,11 +92,3 @@ isidoreToDoc l (IsidoreDoc t a d u s as) = do
...
@@ -92,11 +92,3 @@ isidoreToDoc l (IsidoreDoc t a d u s as) = do
(
Just
$
(
Text
.
pack
.
show
)
l
)
(
Just
$
(
Text
.
pack
.
show
)
l
)
src/Gargantext/Text/Corpus/API/Istex.hs
View file @
ed4debe3
...
@@ -15,17 +15,50 @@ Portability : POSIX
...
@@ -15,17 +15,50 @@ Portability : POSIX
module
Gargantext.Text.Corpus.API.Istex
module
Gargantext.Text.Corpus.API.Istex
where
where
import
Data.Either
(
either
)
import
Data.Maybe
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.Prelude
import
Gargantext.Core
(
Lang
(
..
))
import
Gargantext.Core
(
Lang
(
..
))
import
qualified
Gargantext.Text.Corpus.Parsers.Date
as
Date
import
Gargantext.Database.Types.Node
(
HyperdataDocument
(
..
))
import
Gargantext.Database.Types.Node
(
HyperdataDocument
(
..
))
import
qualified
Data.Text
as
Text
import
qualified
ISTEX
as
ISTEX
import
qualified
ISTEX
as
ISTEX
import
qualified
ISTEX.Client
as
ISTEX
import
qualified
ISTEX.Client
as
ISTEX
get
::
Lang
->
Text
->
Maybe
Integer
->
IO
[
HyperdataDocument
]
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