import shutil from pathlib import Path import os import json path_bills = "factures-2021-2022" path_bills_output = "factures-2021-2022-triees" """ Notice d'utilisation ATTENTION : Les dossier d'entrée et de sortie ne doivent PAS CONTENIR de "_" : c'est réservé pour les noms de fichier pdf des factures. Ce programme permet de trier un dossier de facture par code fournisseur Si le code fournisseur n'est pas dans la liste id_editor2editor, ne peut être traité de manière automatique. """ #address path to datas (pdf only) with open('./dictionaries/code_fournisseur2fournisseur.json','r') as f_in: id_editor2editor = json.load(f_in) #fonction utilitaire pour classEditors qui copie le fichier PDF dans un repository dans son code editeur. def copyItIn(file,repository,global_path='./%s' %path_bills_output): if not os.path.exists('%s/%s' % (global_path,repository) ): os.makedirs('%s/%s' % (global_path,repository) ) shutil.copy(file, '%s/%s' % (global_path,repository) ) # classe les PDFs par editeur files = Path('./%s/' %path_bills).glob('*') for file in files: code_editor=str(file).split("_")[1] if code_editor in id_editor2editor.keys(): copyItIn(file,code_editor) else: copyItIn(file,'autres')