#!/usr/bin/env python3 """Fix article HTML format for Article-Server compatibility. Ensures:

date, , Run: python3 fix_article_format.py /home/hermes/workspace/artikel.html """ import sys, re, os from datetime import datetime def fix_article(filepath): with open(filepath, 'r') as f: content = f.read() changed = False # 1. Fix

if re.search(r'

([^<]+)
', content): content = re.sub(r'
([^<]+)
', r'

\1

', content) changed = True print(f" ✓

") # 2. Add

if missing (using dateline or default) if '

' not in content: date_str = datetime.now().strftime("%d. %B %Y") # Try to extract date from dateline dl = re.search(r'

', content) if dl: date_str = dl.group(1).split('·')[0].strip() # Insert after or after

meta_line = f'

{date_str} · Lesezeit: ca. 5 Minuten

\n' if '

' in content: content = re.sub(r'(

\n)', r'\1' + meta_line, content, count=1) else: content = re.sub(r'(\n)', r'\1' + meta_line, content, count=1) changed = True print(f" ✓

hinzugefügt: {date_str}") # 3. Add if missing if '\n' content = re.sub(r'(.*?\n)', r'\1' + desc_tag, content, count=1) changed = True print(f" ✓ hinzugefügt") # 4. Add if missing if '\n' content = re.sub(r'(\n)', r'\1' + kw_tag, content, count=1) changed = True print(f" ✓ hinzugefügt") if changed: with open(filepath, 'w') as f: f.write(content) return True return False if __name__ == '__main__': for f in sys.argv[1:]: print(f"{os.path.basename(f)}:") if fix_article(f): print(f" ✅ Gefixt") else: print(f" ✓ Bereits korrekt")