From abb4d2cce22999c8e6004d4681f75ea1f4a8c72c Mon Sep 17 00:00:00 2001 From: SebF Date: Sat, 23 Oct 2021 22:03:25 +0200 Subject: [PATCH] #3 archivage --- osm_vc63/utils.py | 25 +++++++++++++++++++++++++ rdoo.py | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/osm_vc63/utils.py b/osm_vc63/utils.py index c0af2cb..6912173 100644 --- a/osm_vc63/utils.py +++ b/osm_vc63/utils.py @@ -21,6 +21,10 @@ import json import logging +import os +import datetime +import shutil +import pathlib from collections import OrderedDict import requests from pyexcel_ods3 import save_data @@ -228,3 +232,24 @@ class Utils: element["tags"][tag] = dictionnaire[element["tags"][tag]] return data + + def archivage(self): + """Archivage des données précédentes""" + + fichier = pathlib.Path(self.dossier_sauvegarde + "resultats.ods") + + if not fichier.exists(): + return + + date_fichier = datetime.date.fromtimestamp(fichier.stat().st_ctime) + os.makedirs(self.dossier_sauvegarde + str(date_fichier), exist_ok=True) + + # pylint: disable=W0106 + [ + shutil.move( + self.dossier_sauvegarde + file, + self.dossier_sauvegarde + str(datetime.date.today()), + ) + for file in os.listdir(self.dossier_sauvegarde) + if not os.path.isdir(self.dossier_sauvegarde + file) + ] diff --git a/rdoo.py b/rdoo.py index 2831928..da2d1bb 100644 --- a/rdoo.py +++ b/rdoo.py @@ -121,6 +121,10 @@ def main(): handlers=[logging.FileHandler("rdoo.log"), logging.StreamHandler(sys.stdout)], ) + utils = Utils(OVERPASS_URL, GEO_API_URL, DOSSIER_SAUVEGARDE) + + utils.archivage() + logging.info("##### Nouvelle récupération ######") # l'id de l'area se calcule en ajoutant 3600000000 au numéro de l'objet OSM @@ -129,7 +133,6 @@ def main(): for req in requetes.REQS: for nb_essai in range(MAX_RETRY): # on tente max_retry fois try: - utils = Utils(OVERPASS_URL, GEO_API_URL, DOSSIER_SAUVEGARDE) logging.info(f"# Requête en cours : {req.nom}")