80 lines
2.7 KiB
Python
80 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Hernoemt bestanden met '?...' in de naam naar schone namen,
|
|
en past alle HTML/CSS referenties aan.
|
|
"""
|
|
|
|
import os
|
|
import re
|
|
from pathlib import Path
|
|
|
|
BASE_DIR = Path("/var/www/correctvloerverwarming2")
|
|
|
|
|
|
def rename_files():
|
|
"""Zoek bestanden met '?' in de naam en hernoem ze."""
|
|
mapping = {} # old_name -> new_name (relatief aan BASE_DIR)
|
|
|
|
for f in BASE_DIR.rglob("*"):
|
|
if "?" in f.name and f.is_file():
|
|
clean_name = f.name.split("?")[0]
|
|
new_path = f.parent / clean_name
|
|
|
|
# Conflict: als schone naam al bestaat, overschrijf (de versie is hetzelfde bestand)
|
|
old_rel = str(f.relative_to(BASE_DIR))
|
|
new_rel = str(new_path.relative_to(BASE_DIR))
|
|
|
|
mapping[old_rel] = new_rel
|
|
mapping[f.name] = clean_name # ook op bestandsnaam niveau
|
|
|
|
f.rename(new_path)
|
|
print(f" Hernoemd: {old_rel} -> {new_rel}")
|
|
|
|
return mapping
|
|
|
|
|
|
def fix_references(mapping):
|
|
"""Vervang verwijzingen met %3F of ? in HTML en CSS bestanden."""
|
|
html_updated = css_updated = 0
|
|
|
|
for html_path in BASE_DIR.rglob("*.html"):
|
|
try:
|
|
content = html_path.read_text(encoding="utf-8", errors="ignore")
|
|
original = content
|
|
|
|
# Vervang URL-encoded: bestand.js%3Fver=X.Y -> bestand.js
|
|
content = re.sub(r'(%3F|\?)ver=[^"\'&\s>]+', '', content, flags=re.IGNORECASE)
|
|
# Vervang ook andere query params op assets
|
|
content = re.sub(r'(\.js|\.css|\.woff2?|\.ttf|\.png|\.svg|\.jpg|\.jpeg|\.webp)(%3F|\?)[^"\'&\s>]+', r'\1', content, flags=re.IGNORECASE)
|
|
|
|
if content != original:
|
|
html_path.write_text(content, encoding="utf-8")
|
|
html_updated += 1
|
|
except Exception as e:
|
|
print(f" Fout HTML {html_path}: {e}")
|
|
|
|
for css_path in BASE_DIR.rglob("*.css"):
|
|
try:
|
|
content = css_path.read_text(encoding="utf-8", errors="ignore")
|
|
original = content
|
|
|
|
content = re.sub(r'(\.js|\.css|\.woff2?|\.ttf|\.png|\.svg|\.jpg|\.jpeg|\.webp)(\?)[^"\')\s]+', r'\1', content, flags=re.IGNORECASE)
|
|
|
|
if content != original:
|
|
css_path.write_text(content, encoding="utf-8")
|
|
css_updated += 1
|
|
except Exception as e:
|
|
print(f" Fout CSS {css_path}: {e}")
|
|
|
|
print(f"HTML bijgewerkt: {html_updated}")
|
|
print(f"CSS bijgewerkt: {css_updated}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("=== Bestanden hernoemen (? uit bestandsnamen) ===")
|
|
mapping = rename_files()
|
|
print(f"\nTotaal hernoemd: {len(mapping)//2} bestanden\n")
|
|
print("=== Referenties in HTML/CSS bijwerken ===")
|
|
fix_references(mapping)
|
|
print("\nKlaar!")
|