Newer
Older
APC-bills / tri-factures.py
@Leo-gail Leo-gail on 10 Jan 1 KB initial commit
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')