Usuari:Rebot/Avisos
Aparença
import pywikibot import time def llistar_articles_i_mancances(usuari, pagina_desti): site = pywikibot.Site("ca", "wikipedia") # Defineix el nombre d'edicions edicions = 5000 # Inicia el comptador de temps start_time = time.time() # Obtén la llista d'articles creats per l'usuari contributions = site.logevents(user=usuari, logtype="create", total=edicions, namespace=0) # Crea el contingut amb la cadena de format contingut = "\n\n== [[Usuari:{}]] ==\n\nRevisats els darrers {} articles creats. ".format(usuari, edicions) contingut += "Generat el {}.\n\n".format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # Afegir timestamp processed_articles = set() # Set per fer un seguiment dels articles processats for contribution in contributions: page = contribution.page() article_title = page.title() # Només processa l'article si no és ja al conjunt if article_title not in processed_articles: pag = pywikibot.Page(site, article_title) plantilles_presents = cercar_plantilles_presents(pag) if plantilles_presents: # Afegeix les plantilles trobades amb el format demanat contingut += "# [[{}]] ".format(article_title) for plantilla in plantilles_presents: # Formata cada plantilla amb el codi wiki correcte contingut += " {{tl|" + plantilla + "}}" contingut += "\n" # Afegeix el títol de l'article al conjunt d'articles processats processed_articles.add(article_title) # Finalitza el comptador de temps end_time = time.time() # Calcula el temps transcorregut elapsed_time = end_time - start_time # Arrodoneix el temps transcorregut al nombre enter més proper elapsed_time_rounded = round(elapsed_time) # Afegeix el temps transcorregut a la cadena de contingut contingut += "\nEl programa ha tardat {} segons.\n\n\n".format(elapsed_time_rounded) # Obtén el contingut actual de la pàgina de destí pagina_desti_page = pywikibot.Page(site, pagina_desti) contingut_pagina_desti = pagina_desti_page.text # Concatena el contingut actual amb la nova informació contingut_pagina_desti += contingut # Afegeix el contingut nou al contingut existent # Desa la llista a la pàgina especificada pagina_desti_page.text = contingut_pagina_desti pagina_desti_page.save(summary="Actualitzant la llista d'articles creats per l'usuari {} amb avisos.".format(usuari)) def cercar_plantilles_presents(pagina): # Llista de plantilles que vols cercar plantilles_a_cercar = ["Cal citació", "CC", "CN", "Copyvio", "Currículum", "EE", "Falta verificar admissibilitat", "Falten referències", "FR", "FVA", "Fusió", "Fusió a", "Fusió des de", "Incomplet", "MEI", "Millorar", "Millorar enllaços interns", "Millorar introducció", "Millorar format" "Millorar ortografia", "Millorar referències", "Millorar text", "Millorar traducció", "MF", "MR", "MT", "Neutralitat", "Obsolet"] # Obtén el contingut de la pàgina contingut = pagina.text # Comprova si la pàgina està a l'espai de noms principal if pagina.namespace() == 0: # Cerca les plantilles presents plantilles_presents = [plantilla for plantilla in plantilles_a_cercar if "{{" + plantilla + "|" in contingut or "{{" + plantilla + "}}" in contingut] else: plantilles_presents = [] return plantilles_presents if __name__ == "__main__": usuari = input("Nom d'usuari: ") pagina_desti = "Usuari:Rebot/Creats" llistar_articles_i_mancances(usuari, pagina_desti)