#!/usr/bin/env python3 """ยง3.5 del plan: deriva `site/` a partir de `raw/` (que queda intacto). - Reescribe los enlaces absolutos a `antiguo.feadulta.com` como raiz-relativos, para que el mirror funcione bajo cualquier hostname (p.ej. legacy.rafacalvo.nyc). - Deja intactos los enlaces externos (incluido www.feadulta.com, que ahora es WordPress). - Neutraliza los formularios que apuntan a endpoints PHP vivos: quedan inertes y con aviso. - Descarta las vistas de impresion (`?tmpl=component&print=1`), que duplican paginas ya capturadas. - Deja una copia sin la query en el nombre para los ficheros que wget guardo como `app.js?hash` o `titulo?.html` (alias con '?' literal): un servidor estatico busca el nombre sin query. Uso: 45-normalize-links.py [--no-copy] (--no-copy reaprovecha el site/ existente) """ import os, re, json, shutil, sys from collections import Counter BASE = "/home/rafa/joomla-migration/mirror-antiguo" RUN = open(os.path.join(BASE, "CURRENT_RUN")).read().strip() DIR = os.path.join(BASE, "runs", RUN) RAW, SITE = os.path.join(DIR, "raw"), os.path.join(DIR, "site") HOSTABS = re.compile(rb'(?:https?:)?//antiguo\.feadulta\.com', re.I) FORM = re.compile(rb'