Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
GarganTexternal tools
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
Julien Moutinho
GarganTexternal tools
Commits
8de60985
Commit
8de60985
authored
Aug 22, 2023
by
Loïc Chapron
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
upgrade pages and compact code
parent
333eb348
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
157 additions
and
394 deletions
+157
-394
config.toml
Streamlit/.streamlit/config.toml
+7
-0
pages.toml
Streamlit/.streamlit/pages.toml
+47
-0
README.md
Streamlit/README.md
+1
-0
Welcome.py
Streamlit/Welcome.py
+2
-51
text_HALToGarganText.csv
Streamlit/lang/text_HALToGarganText.csv
+5
-5
text_IsidoreToGarganText.csv
Streamlit/lang/text_IsidoreToGarganText.csv
+6
-6
text_MergeTermGarganText.csv
Streamlit/lang/text_MergeTermGarganText.csv
+3
-3
text_ZoteroToGarganText.csv
Streamlit/lang/text_ZoteroToGarganText.csv
+3
-3
GarganText_Json_To_TSV.py
Streamlit/pages/GarganText_Json_To_TSV.py
+2
-40
HAL_To_GarganText.py
Streamlit/pages/HAL_To_GarganText.py
+3
-42
Isidore_To_GarganText.py
Streamlit/pages/Isidore_To_GarganText.py
+2
-41
Istex_To_GarganText.py
Streamlit/pages/Istex_To_GarganText.py
+2
-39
Merge_Term_GarganText.py
Streamlit/pages/Merge_Term_GarganText.py
+2
-40
Pubmed_To_GarganText.py
Streamlit/pages/Pubmed_To_GarganText.py
+3
-40
Ris_To_GarganText.py
Streamlit/pages/Ris_To_GarganText.py
+6
-42
Zotero_To_GarganText.py
Streamlit/pages/Zotero_To_GarganText.py
+5
-42
basic.py
Streamlit/src/basic.py
+58
-0
No files found.
Streamlit/.streamlit/config.toml
0 → 100644
View file @
8de60985
[server]
maxUploadSize
=
20
[browser]
gatherUsageStats
=
false
Streamlit/.streamlit/pages.toml
0 → 100644
View file @
8de60985
[[pages]]
path
=
"Welcome.py"
name
=
"Home"
icon
=
":house:"
[[pages]]
name
=
"API"
icon
=
":globe_with_meridians:"
is_section
=
true
[[pages]]
path
=
"pages/HAL_To_GarganText.py"
name
=
"HAL To GarganText"
[[pages]]
path
=
"pages/Isidore_To_GarganText.py"
name
=
"Isidore To GarganText"
[[pages]]
path
=
"pages/Zotero_To_GarganText.py"
name
=
"Zotero To GarganText"
[[pages]]
name
=
"Convert"
icon
=
":twisted_rightwards_arrows:"
is_section
=
true
[[pages]]
path
=
"pages/Istex_To_GarganText.py"
name
=
"Istex To GarganText"
[[pages]]
path
=
"pages/Pubmed_To_GarganText.py"
name
=
"Pubmed To GarganText"
[[pages]]
path
=
"pages/Ris_To_GarganText.py"
name
=
"Ris To GarganText"
[[pages]]
path
=
"pages/GarganText_Json_To_TSV.py"
name
=
"GarganText Json To TSV"
in_section
=
false
[[pages]]
path
=
"pages/Merge_Term_GarganText.py"
name
=
"Merge Term GarganText"
Streamlit/README.md
View file @
8de60985
...
...
@@ -4,6 +4,7 @@
```
shell
pip
install
streamlit
pip
install
st-pages
```
## Start Project
...
...
Streamlit/Welcome.py
View file @
8de60985
...
...
@@ -4,59 +4,10 @@ Loïc Chapron
"""
import
streamlit
as
st
import
pandas
as
pd
import
src.basic
as
tmp
st
.
set_page_config
(
page_title
=
"Hello"
)
# Load Banner image
st
.
image
(
'img/gargantool_banner.jpg'
)
# Reduce size on border
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
# Load the language file
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_Welcome.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
# Load the language file
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
# Test if it's first connection on page or else if the last page was this one
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'Welcome'
elif
st
.
session_state
.
general_session_page
!=
'Welcome'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'Welcome'
# Delete every key who aren't fron this file
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
# select the lang
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"Welcome"
)
st
.
write
(
st
.
session_state
.
general_text_dict
[
'title'
])
...
...
Streamlit/lang/text_HALToGarganText.csv
View file @
8de60985
...
...
@@ -2,11 +2,11 @@ locale,key,value
fr,title,"**HAL vers GarganText**"
en,title,"**HAL To GarganText**"
fr,text,"HAL est une base de document scientifique en ligne et libre d'accès contenant plus d'un million de document."
fr,text,"HAL est une base de document scientifique en ligne et libre d'accès contenant plus d'un million de document
s
."
en,text,"HAL is an online and free access scientific document database containing more than a million documents"
fr,keyword,"Mots clés"
en,keyword,"Key
word
"
en,keyword,"Key
s words
"
fr,lang,"Langue des textes (si possible)"
en,lang,"Text languages (if possible)"
...
...
@@ -17,13 +17,13 @@ en,submit,"Submit"
fr,load_api,"Chargement de l'api..."
en,load_api,"Loading API..."
fr,overload_api,"L'API est surchargé
, relancer
la requête dans quelques secondes"
fr,overload_api,"L'API est surchargé
e, relancez
la requête dans quelques secondes"
en,overload'api,"The API is overloaded, please retry the request in a few seconds"
fr,nb_doc,"Nombres de documents : "
en,nb_doc,"Numbers of documents : "
fr,perform1,"Pour des raisons de perform
ence, on limit
à "
fr,perform1,"Pour des raisons de perform
ance, on limite
à "
fr,perform2," le nombre de document maximum"
en,perform1,"For performance reasons, we limit to "
en,perform2," the maximum number of documents"
...
...
@@ -31,5 +31,5 @@ en,perform2," the maximum number of documents"
fr,nb_taken,"Nombres de documents à prendre"
en,nb_taken,"Number of documents to take"
fr,createTSV,"Création du fichier TSV (Cela peut prendre quelque minutes)"
fr,createTSV,"Création du fichier TSV (Cela peut prendre quelque
s
minutes)"
en,createTSV,"Creation of the TSV file (It may take a while)"
Streamlit/lang/text_IsidoreToGarganText.csv
View file @
8de60985
...
...
@@ -3,7 +3,7 @@ fr,title,"**Isidore vers GarganText**"
en,title,"**Isidore To GarganText**"
fr,keyword,"Mots clés"
en,keyword,"Key
word
"
en,keyword,"Key
s words
"
fr,lang,"Langue des textes (si possible)"
en,lang,"Text languages (if possible)"
...
...
@@ -14,21 +14,21 @@ en,submit,"Submit"
fr,load_api,"Chargement de l'api..."
en,load_api,"Loading API..."
fr,overload_api,"L'API est surchargé
, relancer
la requête dans quelques secondes"
fr,overload_api,"L'API est surchargé
e, relancez
la requête dans quelques secondes"
en,overload'api,"The API is overloaded, please retry the request in a few seconds"
fr,nb_doc,"Nombres de documents : "
en,nb_doc,"Numbers of documents : "
fr,perform1,"Pour des raisons de perform
ence, on limit
à "
fr,perform2," le nombre de document maximum"
fr,perform1,"Pour des raisons de perform
ance, on limite
à "
fr,perform2,"
,
le nombre de document maximum"
en,perform1,"For performance reasons, we limit to "
en,perform2," the maximum number of documents"
en,perform2,"
,
the maximum number of documents"
fr,nb_taken,"Nombres de documents à prendre"
en,nb_taken,"Number of documents to take"
fr,createTSV,"Création du fichier TSV (Cela peut prendre quelque minutes)"
fr,createTSV,"Création du fichier TSV (Cela peut prendre quelque
s
minutes)"
en,createTSV,"Creation of the TSV file (It may take a while)"
fr,doc_abstract1,"Il y a "
...
...
Streamlit/lang/text_MergeTermGarganText.csv
View file @
8de60985
locale,key,value
fr,title,"Fusionne Deux
Liste
de Terme de GarganText"
en,title,"Input Two Term File From GarganText"
fr,title,"Fusionne Deux
Fichiers
de Terme de GarganText"
en,title,"Input Two Term File
s
From GarganText"
fr,file,"Choisir un fichier"
en,file,"Choose a file"
fr,new_file,"Télécharge ton fichier fusionn
er
:"
fr,new_file,"Télécharge ton fichier fusionn
é
:"
en,new_file,"Download your merge file:"
\ No newline at end of file
Streamlit/lang/text_ZoteroToGarganText.csv
View file @
8de60985
...
...
@@ -15,7 +15,7 @@ fr,denied,"L'acèss au compte n'est pas publique, pour la mettre publique: https
en,denied,"Account access is not public, to make it public: https://www.zotero.org/settings/privacy"
fr,add_doc,"*Ajouter les documents que vous voulez mettre dans le TSV*"
en,add_doc,"*Add the document that
t
ou want in the TSV*"
en,add_doc,"*Add the document that
y
ou want in the TSV*"
fr,select_all,"Select All"
en,select_all,"Select All"
...
...
@@ -30,10 +30,10 @@ fr,n_page,"Page Suivante"
en,n_page,"Next Page"
fr,add_collect,"**Selectionner une collection** vous pouvez en choisir plusieurs"
en,add_collect,"**Chose a collection** you can choose multiple one"
en,add_collect,"**Cho
o
se a collection** you can choose multiple one"
fr,chose_collect,"Choisie une collection"
en,chose_collect,"Chose a collection"
en,chose_collect,"Cho
o
se a collection"
fr,fileTSV1,"Le TSV contient "
fr,fileTSV2," documents"
...
...
Streamlit/pages/GarganText_Json_To_TSV.py
View file @
8de60985
...
...
@@ -5,48 +5,10 @@ Loïc Chapron
import
streamlit
as
st
import
pandas
as
pd
import
src.basic
as
tmp
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_GarganTextJsonToTSV.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'GarganTextJsonToTSV'
elif
st
.
session_state
.
general_session_page
!=
'GarganTextJsonToTSV'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'GarganTextJsonToTSV'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"GarganTextJsonToTSV"
)
def
getText
(
corpusJson
):
...
...
Streamlit/pages/HAL_To_GarganText.py
View file @
8de60985
...
...
@@ -6,52 +6,13 @@ import requests as req
import
json
import
streamlit
as
st
from
datetime
import
datetime
import
pandas
as
pd
import
src.basic
as
tmp
tmp
.
base
(
"HALToGarganText"
)
limit
=
500
limitItems
=
10000
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_HALToGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'HALToGarganText'
elif
st
.
session_state
.
general_session_page
!=
'HALToGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'HALToGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
def
loadApiHALNbFile
(
search
,
lang
):
url
=
'http://api.archives-ouvertes.fr/search/?q='
+
search
+
'&rows=5&fl=title_s,'
+
lang
+
'_title_s,source_s,publicationDate_s,authFullName_s,'
+
lang
+
'_abstract_s,abstract_s&fq=language_s:'
+
lang
resp
=
req
.
get
(
url
)
...
...
Streamlit/pages/Isidore_To_GarganText.py
View file @
8de60985
...
...
@@ -6,50 +6,11 @@ Loïc Chapron
import
streamlit
as
st
import
requests
as
req
import
json
import
pandas
as
pd
import
time
import
src.basic
as
tmp
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_IsidoreToGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'IsidoreToGarganText'
elif
st
.
session_state
.
general_session_page
!=
'IsidoreToGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'IsidoreToGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"IsidoreToGarganText"
)
numberReplies
=
500
# Dont' exceed 1 000
limitItems
=
5000
# Can't be superior of 10 times numberReplies
...
...
Streamlit/pages/Istex_To_GarganText.py
View file @
8de60985
...
...
@@ -8,47 +8,10 @@ import pandas as pd
import
datetime
import
zipfile
import
streamlit
as
st
import
src.basic
as
tmp
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_IstexToGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'IstexToGarganText'
elif
st
.
session_state
.
general_session_page
!=
'IstexToGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'IstexToGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"IstexToGarganText"
)
def
read_zip
(
zip_file
):
...
...
Streamlit/pages/Merge_Term_GarganText.py
View file @
8de60985
...
...
@@ -6,48 +6,10 @@ Loïc Chapron
import
streamlit
as
st
from
datetime
import
datetime
import
pandas
as
pd
import
src.basic
as
tmp
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_MergeTermGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'MergeTermGarganText'
elif
st
.
session_state
.
general_session_page
!=
'MergeTermGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'MergeTermGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"MergeTermGarganText"
)
def
tmp
(
file1
,
file2
):
...
...
Streamlit/pages/Pubmed_To_GarganText.py
View file @
8de60985
...
...
@@ -4,50 +4,13 @@ Loïc Chapron
"""
import
streamlit
as
st
import
pandas
as
pd
import
nbib
import
re
import
calendar
import
src.basic
as
tmp
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_PubMedToGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'PubMedToGarganText'
elif
st
.
session_state
.
general_session_page
!=
'PubMedToGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'PubMedToGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"PubMedToGarganText"
)
...
...
Streamlit/pages/Ris_To_GarganText.py
View file @
8de60985
...
...
@@ -4,49 +4,12 @@ Loïc Chapron
"""
import
streamlit
as
st
import
pandas
as
pd
import
rispy
from
datetime
import
date
import
src.basic
as
tmp
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_RisToGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'RisToGarganText'
elif
st
.
session_state
.
general_session_page
!=
'RisToGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'RisToGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
tmp
.
base
(
"RisToGarganText"
)
...
...
@@ -65,10 +28,10 @@ def read_file(file):
source
=
""
if
'abstract'
in
keys
:
abstract
=
doc
[
'abstract'
]
abstract
=
doc
[
'abstract'
]
.
replace
(
'
\t
'
,
''
)
.
replace
(
'"'
,
''
)
else
:
abstract
=
""
title
=
doc
[
'title'
]
title
=
doc
[
'title'
]
.
replace
(
'
\t
'
,
''
)
.
replace
(
'"'
,
''
)
month
=
'1'
day
=
'1'
...
...
@@ -107,4 +70,5 @@ if file:
except
Exception
as
e
:
st
.
write
(
st
.
session_state
.
general_text_dict
[
'error'
])
print
(
e
)
file
.
close
()
\ No newline at end of file
file
.
close
()
Streamlit/pages/Zotero_To_GarganText.py
View file @
8de60985
...
...
@@ -7,52 +7,15 @@ import streamlit as st
import
requests
as
req
import
json
from
datetime
import
date
import
pandas
as
pd
import
src.basic
as
tmp
tmp
.
base
(
"ZoteroToGarganText"
)
sizepage
=
10
limit
=
50
# This value cannot exceed 100 !
st
.
set_page_config
(
page_title
=
"Zotero to GarganText"
)
st
.
image
(
'img/gargantool_banner.jpg'
)
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_ZoteroToGarganText.csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
'ZoteroToGarganText'
elif
st
.
session_state
.
general_session_page
!=
'ZoteroToGarganText'
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
'ZoteroToGarganText'
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
def
getAllItems
(
id
):
txt
,
nb
=
loadApiItems
(
12093554
,
0
)
...
...
Streamlit/src/basic.py
0 → 100644
View file @
8de60985
import
streamlit
as
st
import
pandas
as
pd
from
st_pages
import
show_pages_from_config
,
add_indentation
def
base
(
page
):
show_pages_from_config
()
add_indentation
()
# Load Banner image
st
.
image
(
'img/gargantool_banner.jpg'
)
# Reduce size on border
st
.
markdown
(
"""
<style>
.block-container {
padding-top: 2rem;
padding-bottom: 0rem;
padding-left: 1rem;
padding-right: 1rem;
}
</style>
"""
,
unsafe_allow_html
=
True
)
# Load the language file
def
load_bundle
(
lang
):
df
=
pd
.
read_csv
(
"lang/text_"
+
page
+
".csv"
)
df
=
df
.
query
(
f
"locale == '{lang}'"
)
tmp
=
{}
for
i
in
range
(
len
(
df
)):
tmp
[
df
.
key
.
to_list
()[
i
]]
=
df
.
value
.
to_list
()[
i
]
return
tmp
# Load the language file
def
update_lang
():
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
# Test if it's first connection on page or else if the last page was this one
if
'general_session_page'
not
in
st
.
session_state
.
keys
():
st
.
session_state
.
general_lang_dict
=
{
'Français'
:
'fr'
,
'English'
:
'en'
}
st
.
session_state
.
general_text_dict
=
load_bundle
(
'fr'
)
st
.
session_state
.
general_language
=
'Français'
st
.
session_state
.
general_session_page
=
page
elif
st
.
session_state
.
general_session_page
!=
page
:
st
.
session_state
.
general_text_dict
=
load_bundle
(
st
.
session_state
.
general_lang_dict
[
st
.
session_state
.
general_language
])
st
.
session_state
.
general_session_page
=
page
# Delete every key who aren't fron this file
for
key
in
st
.
session_state
.
keys
():
if
'general_'
not
in
key
:
del
st
.
session_state
[
key
]
# select the lang
st
.
selectbox
(
'Langue'
,
list
(
st
.
session_state
.
general_lang_dict
.
keys
()),
list
(
st
.
session_state
.
general_lang_dict
.
keys
())
.
index
(
st
.
session_state
.
general_language
),
key
=
'general_language'
,
on_change
=
update_lang
)
\ No newline at end of file
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