Feat : sort the special case of SECT files first
This commit is contained in:
parent
6ef02b946c
commit
9853538308
@ -25,6 +25,7 @@ FOLDERNAMES = [
|
||||
]
|
||||
|
||||
ANNEXE_FOLDER_ID = 4
|
||||
PLANS_DE_SECTEUR_ID = 7
|
||||
|
||||
# Les mots clef associés à chaque dossier
|
||||
KEYWORDS = {
|
||||
@ -37,10 +38,9 @@ KEYWORDS = {
|
||||
"Reglement": FOLDERNAMES[3],
|
||||
"Orientations_amenagement": FOLDERNAMES[5],
|
||||
"POA": FOLDERNAMES[6],
|
||||
"Plan_de_secteur": FOLDERNAMES[7],
|
||||
"Plan_de_secteurs": FOLDERNAMES[7],
|
||||
}
|
||||
|
||||
|
||||
def confirm_choice(choice) -> bool:
|
||||
"""
|
||||
Demande confirmation du choix de l'utilisateur
|
||||
@ -154,6 +154,34 @@ def sort_files(prefixe, suffixe, sort_path):
|
||||
# corrige les erreur de nommage de fichiers
|
||||
file = correct_file_name(file)
|
||||
|
||||
sector = re.search(r'SECT(\d{2})',file)
|
||||
#Test cas particuliers Plans de secteurs
|
||||
if sector:
|
||||
sector_name = sector.group(0)
|
||||
folder_path = f"{sort_path}/7_Plans_de_secteur/{sector_name}"
|
||||
if not os.path.isdir(folder_path):
|
||||
os.mkdir(folder_path)
|
||||
os.mkdir(f"{folder_path}/3_Reglement")
|
||||
os.mkdir(f"{folder_path}/5_Orientations_amenagement")
|
||||
|
||||
specific_keywords = ["Reglement_graphique","Reglement","Orientations_amenagement"]
|
||||
|
||||
for index, keyword in enumerate(specific_keywords):
|
||||
if keyword.lower() in file.lower():
|
||||
filename = f"{prefixe}_{keyword}_{sector_name}_{suffixe}.pdf"
|
||||
newpath =""
|
||||
if index <= 1:
|
||||
newpath = f"{folder_path}/3_Reglement"
|
||||
else:
|
||||
newpath = f"{folder_path}/5_Orientations_amenagement"
|
||||
|
||||
renamed = os.path.join(os.path.dirname(file),filename)
|
||||
os.rename(file,renamed)
|
||||
shutil.move(renamed,newpath)
|
||||
folders_file_count[PLANS_DE_SECTEUR_ID] += 1
|
||||
break
|
||||
continue
|
||||
|
||||
for keyword, folder in KEYWORDS.items():
|
||||
|
||||
# Si le mot clef (en minuscule) est dans le nom du fichier (en minuscule)
|
||||
@ -237,7 +265,6 @@ def error_report(folder_data):
|
||||
# Pour chaque dossiers
|
||||
# On écrit son nom dans la colonne B
|
||||
# On écris le nombre de fichier contenus dans la colonne C
|
||||
# Si vide Erreur Colonne D
|
||||
for i, content in enumerate(folder_data):
|
||||
report_worsheet["B" + str(currrent_cell)] = FOLDERNAMES[i]
|
||||
report_worsheet["C" + str(currrent_cell)] = content
|
||||
@ -248,6 +275,7 @@ def error_report(folder_data):
|
||||
"C" + str(currrent_cell)
|
||||
].fill = report_worsheet["D" + str(currrent_cell)].fill = row_color
|
||||
|
||||
# Si dossier vide Erreur Colonne D
|
||||
if content == 0:
|
||||
report_worsheet["D" + str(currrent_cell)] = (
|
||||
"/!\\ aucun fichier dans le dossier /!\\"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user