Spring clean.
Avant de m'attaquer à #10 (closed) j'ai voulu nettoyer un peu :
- Retirer les doublons dans domaines-organismes-publics.txt
- Retirer les doublons dans les sources
- Supprimer la seule majuscule
- Unifier les préfixe "www." dans le cas où un même domaine apparaisait avec :
- www dans sources/ mais pas dans domaines-organismes-publics.txt
- l'inverse
Ça m'a pris un petit script.
from pathlib import Path
sources = set()
for file in Path(".").glob("*.txt"):
sources.update(file.read_text().splitlines())
aggregated = set(Path("../domaines-organismes-publics.txt").read_text().splitlines())
for line in aggregated - sources:
if not line.startswith("www.") and f"www.{line}" in sources:
print(f"{line} with www in sources but without here.")
elif line.startswith("www.") and f"www.{line}" not in sources:
print(f"{line} with www here but not in sources.")
else:
print(line)
mais surtout des sed
, sort
, uniq
, et tr [A-Z] [a-z]
àla :
(cd sources; python errors.py) | grep gouv.fr >> sources/gouvfr-divers.txt
(cd sources; python errors.py) | grep 'www here' | cut -d' ' -f1 | cut -d. -f2- | while read -r line; do sed -i "s/www.$line/$line/" domaines-organismes-publics.txt ; done
(cd sources; python errors.py) | grep 'www in sources but without' | cut -d' ' -f1 | while read -r line; do sed -i "s/www.$line/$line/" sources/gouvfr-divers.txt ; done
Maintenant :
diff domaines-organismes-publics.txt <(cat sources/*.txt | sort)
ne trouve aucune différence.
Je doute que ce soit un invariant qu'on souhaite garder : c'est juste un « bon point de départ », mais dans le futur j'imagine qu'on va garder tous les domaines dans sources/
et uniquement ceux qui répondent correctement dans domaines-organismes-publics.txt
afin de ne pas en perdre au cas où un site soit innaccessible lorsqu'on vérifie s'il renvoie bien une 200 ?