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
|
ANNEXE_FOLDER_ID = 4
|
||||||
|
PLANS_DE_SECTEUR_ID = 7
|
||||||
|
|
||||||
# Les mots clef associés à chaque dossier
|
# Les mots clef associés à chaque dossier
|
||||||
KEYWORDS = {
|
KEYWORDS = {
|
||||||
@ -37,10 +38,9 @@ KEYWORDS = {
|
|||||||
"Reglement": FOLDERNAMES[3],
|
"Reglement": FOLDERNAMES[3],
|
||||||
"Orientations_amenagement": FOLDERNAMES[5],
|
"Orientations_amenagement": FOLDERNAMES[5],
|
||||||
"POA": FOLDERNAMES[6],
|
"POA": FOLDERNAMES[6],
|
||||||
"Plan_de_secteur": FOLDERNAMES[7],
|
"Plan_de_secteurs": FOLDERNAMES[7],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def confirm_choice(choice) -> bool:
|
def confirm_choice(choice) -> bool:
|
||||||
"""
|
"""
|
||||||
Demande confirmation du choix de l'utilisateur
|
Demande confirmation du choix de l'utilisateur
|
||||||
@ -53,7 +53,7 @@ def confirm_choice(choice) -> bool:
|
|||||||
|
|
||||||
def test_date(date_input: str):
|
def test_date(date_input: str):
|
||||||
"""teste si la date donnée est valide"""
|
"""teste si la date donnée est valide"""
|
||||||
# Pattern pour vérifier qu'il y a bien 8 chiffres, 4pour l'année, 2 pour le mois, 2 pour le jour
|
# Pattern pour vérifier qu'il y a bien 8 chiffres, 4 pour l'année, 2 pour le mois, 2 pour le jour
|
||||||
# permet d'exclure les erreurs de frappes, comme les "." les " " ou les lettres
|
# permet d'exclure les erreurs de frappes, comme les "." les " " ou les lettres
|
||||||
pattern = r"^\d{4}\d{2}\d{2}$"
|
pattern = r"^\d{4}\d{2}\d{2}$"
|
||||||
|
|
||||||
@ -154,6 +154,34 @@ def sort_files(prefixe, suffixe, sort_path):
|
|||||||
# corrige les erreur de nommage de fichiers
|
# corrige les erreur de nommage de fichiers
|
||||||
file = correct_file_name(file)
|
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():
|
for keyword, folder in KEYWORDS.items():
|
||||||
|
|
||||||
# Si le mot clef (en minuscule) est dans le nom du fichier (en minuscule)
|
# 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
|
# Pour chaque dossiers
|
||||||
# On écrit son nom dans la colonne B
|
# On écrit son nom dans la colonne B
|
||||||
# On écris le nombre de fichier contenus dans la colonne C
|
# On écris le nombre de fichier contenus dans la colonne C
|
||||||
# Si vide Erreur Colonne D
|
|
||||||
for i, content in enumerate(folder_data):
|
for i, content in enumerate(folder_data):
|
||||||
report_worsheet["B" + str(currrent_cell)] = FOLDERNAMES[i]
|
report_worsheet["B" + str(currrent_cell)] = FOLDERNAMES[i]
|
||||||
report_worsheet["C" + str(currrent_cell)] = content
|
report_worsheet["C" + str(currrent_cell)] = content
|
||||||
@ -248,6 +275,7 @@ def error_report(folder_data):
|
|||||||
"C" + str(currrent_cell)
|
"C" + str(currrent_cell)
|
||||||
].fill = report_worsheet["D" + str(currrent_cell)].fill = row_color
|
].fill = report_worsheet["D" + str(currrent_cell)].fill = row_color
|
||||||
|
|
||||||
|
# Si dossier vide Erreur Colonne D
|
||||||
if content == 0:
|
if content == 0:
|
||||||
report_worsheet["D" + str(currrent_cell)] = (
|
report_worsheet["D" + str(currrent_cell)] = (
|
||||||
"/!\\ aucun fichier dans le dossier /!\\"
|
"/!\\ aucun fichier dans le dossier /!\\"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user