# encoding: utf-8 """ Ce script s'appuie sur d'autres scripts pour vérifier les modifications du wiki de l'April. """ import subprocess import sys # On reçoit continuellement des modifications du wiki for line in sys.stdin: # On recharge les auteurs connus try: with open("whitelist_authors") as authors_handle: authors = authors_handle.read().splitlines() except: open("whitelist_authors", "a") authors = [] # On recharge les mots connus qu'on ne souhaite pas corriger try: with open("whitelist_words") as words_handle: words = words_handle.read().splitlines() except: open("whitelist_words", "a") words = [] # On extrait les informations remontées _, author, _, url = line.split("\t") # On nettoie l'url url = "&".join(url.split("&")[:1]) # On vérifie l'orthographe de la page output = subprocess.run( ["python", "checkspell.py", url], universal_newlines=True, stdout=subprocess.PIPE, check=True, ) # Pour chaque mot remonté, on vérifie qu'il n'est pas dans la liste blanche smells = [] for word in output.stdout.split("\n"): if word != "" and word not in words: smells.append(word) # Si l'auteur est inconnu, on pointe le lien vers la page modifiée / créée if author not in authors: print(f" {author} : {url}") # S'il y a quelque chose à corriger if len(smells) > 0: print(f" {url} : {smells}") # On suate une ligne pour faire plus propre if author not in authors or len(smells) > 0: print("-"*12)