import os import re def update_all_footers_from_template(): """ Robustna skripta, ki vsebino iz 'layouts/footer.html' prebere in z njo prepiše VSE sekcije v vseh ostalih .html datotekah v projektu. Eksplicitno izključi datoteki header.html in footer.html. """ project_root = '.' footer_template_path = os.path.join(project_root, 'layouts', 'footer.html') # --- KORAK 1: Preberi vsebino nove noge iz datoteke s predlogo --- try: with open(footer_template_path, 'r', encoding='utf-8') as f: new_footer_content = f.read().strip() print(f"Uspešno prebrana vsebina noge iz: {footer_template_path}") except FileNotFoundError: print(f"NAPAKA: Datoteka s predlogo noge ni bila najdena na poti: {footer_template_path}") print("Prepričajte se, da datoteka obstaja in da skripto zaganjate iz korenske mape projekta ('hermina-merc').") return except Exception as e: print(f"NAPAKA pri branju datoteke s predlogo noge: {e}") return # --- KORAK 2: Pripravi seznam datotek za izključitev --- # Uporabimo os.path.normpath za zanesljivo primerjavo poti ne glede na OS (npr. / vs \) excluded_files = [ os.path.normpath(footer_template_path), os.path.normpath(os.path.join(project_root, 'layouts', 'header.html')) ] print(f"\nDatoteki, ki bosta preskočeni (ker sta predlogi): {excluded_files}") # --- KORAK 3: Pripravi robusten regularni izraz --- # Ta vzorec bo našel katerokoli footer_pattern = re.compile(r' 0: # Preverimo, ali je dejansko prišlo do spremembe v vsebini if updated_content != content: with open(filepath, 'w', encoding='utf-8') as f: f.write(updated_content) print(f" [OK] Uspešno posodobljena noga v: {filepath}") updated_files_count += 1 else: print(f" [INFO] Noga najdena, vendar je že posodobljena v: {filepath}") skipped_files_count += 1 else: print(f" [POZOR] Noga za zamenjavo ni bila najdena v (preskočeno): {filepath}") skipped_files_count += 1 except Exception as e: print(f" [NAPAKA] Pri obdelavi datoteke {filepath}: {e}") print("\n-------------------------------------------") print("Posodabljanje je končano.") print(f"Dejansko posodobljenih datotek: {updated_files_count}") print(f"Preskočenih, že posodobljenih ali datotek brez noge: {skipped_files_count}") print("-------------------------------------------") # Zaženemo glavno funkcijo if __name__ == "__main__": update_all_footers_from_template()