Skip to content
Extraits de code Groupes Projets
Valider fcaa1df5 rédigé par Bastien Le Querrec's avatar Bastien Le Querrec
Parcourir les fichiers

ppparis: conserve la version texte des PDF

parent 1186cbbd
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -45,6 +45,6 @@ test_ppparis:
- pyvenv.cfg
artifacts:
paths:
- data/ppparis/
- data/ppparis/*.txt
- output.log
expire_in: 1 year
......@@ -56,6 +56,9 @@ def download_file(url, dest):
except Exception as exc:
logging.warning(f'ATTENTION: Impossible de télécharger le fichier {url}: {exc}')
def get_txt_file(filename):
return re.sub('(\.pdf)$', '.txt', filename)
def parse_pdf(filename, name, date):
if not os.path.isfile(__DATA_DIR+filename):
logging.warning(f'ATTENTION: le fichier {filename} n\'existe pas')
......@@ -69,10 +72,11 @@ def parse_pdf(filename, name, date):
found = True
print_output(f' Le terme \033[1m{keyword}\033[0m a été trouvé.')
# Remplace le PDF par un fichier vide, afin de savoir la prochaine fois qu'il a déjà été analysé
f = open(__DATA_DIR+filename,'w')
f.write('')
# Écrit le texte du PDF dans un fichier texte pour une analyse future, puis supprime le PDF
f = open(get_txt_file(__DATA_DIR+filename),'w')
f.write(text)
f.close()
os.remove(__DATA_DIR+filename)
if found:
print_output('')
......@@ -166,8 +170,8 @@ for a in soup.find_all('a', href=True):
filename = unquote(url.split('/')[-1])
# Si le fichier n'a pas été téléchargé, on le télécharge et on le parse
if not os.path.isfile(__DATA_DIR+filename):
# Si le fichier n'a pas déjà été parsé, on le télécharge et on le parse
if not os.path.isfile(get_txt_file(__DATA_DIR+filename)):
logging.info(f'Nouveau fichier : {name} ({date}). URL : {url}')
download_file(url, __DATA_DIR+filename)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter