Difference between revisions 14176813 and 14225256 on frwiktionary[[Catégorie:JackBot]] <source lang=python> #!/usr/bin/env python # coding: utf-8 # Ce script formate les pages du Wiktionnaire, tous les jours après minuit depuis le Toolserver : # 1) Retire certains doublons. # 2) Ajoute les clés de tris, prononciations vides, et certains liens vers les conjugaisons. (contracted; show full) position = PageTemp.find("}}") position = position + 2 PageEnd = PageEnd + PageTemp[0:position] # Transfert vers la page finale de l'article jusqu'au modèle en traitement exclu PageTemp = PageTemp[position:len(PageTemp)] while PageTemp.find(" }}") < PageTemp.find("}}") and PageTemp.find(" }}") != -1: PageTemp = PageTemp[0:PageTemp.find(" }}")] + PageTemp[PageTemp.find(" }}")+1:len(PageTemp)] # Modèles imbriqués (à sauter) if PageTemp.find("}}") > PageTemp.find("{{") and PageTemp.find("{{") != -1: PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}"while PageTemp.find(u'{{') < PageTemp.find(u'}}') and PageTemp.find(u'{{') != -1: position2 = position2 + PageTemp.find(u'}}') + 2 PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break⏎ else: # Paramètres if PageTemp.find("|") > PageTemp.find("}}"): position = PageTemp.find("}}") elif PageTemp.find("|") == -1: position = PageTemp.find("}}") else: position = PageTemp.find("|") # Nettoyage des modèles non listés dans le tableau Modele[p] if PageTemp[0:position] == u'en-conj-rég': PageTemp2 = PageTemp[position+1:len(PageTemp)] if PageTemp2.find(u'|') < PageTemp2.find(u'}}') and PageTemp2.find(u'|') != -1: if PageTemp2[0:PageTemp2.find(u'|')] == PageHS: PageTemp = PageTemp[0:position] + PageTemp[position+1+PageTemp2.find(u'|'):len(PageTemp)] else: (contracted; show full) PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] else: if PageTemp.find(u'|nocat=1') != -1: PageTemp = PageTemp[0:PageTemp.find(u'|nocat=1')] + PageTemp[PageTemp.find(u'|nocat=1')+len(u'|nocat=1'):len(PageTemp)] PageTemp = u'|' + codelangue + PageTemp break ⏎ elif Modele[p] == u'source': if PageTemp.find(u'{{w|') != -1 and PageTemp.find(u'{{w|') < PageTemp.find(u'}}'): PageTemp2 = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2+PageTemp2.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)+PageTemp2.find(u'}}')+2] break else: PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break⏎ elif Modele[p] == u'mythologie' or Modele[p] == u'myth': # Modèle à deux paramètres if (PageTemp.find("myt=") != -1 and PageTemp.find("myt=") < PageTemp.find("}}")): if PageTemp.find("myt=") > position+1: # myt= est après le code langue if (EstCodeLangue == "false" ) or (PageTemp.find(u'Catégorie:Animaux imaginaires' (contracted; show full) ) and (PageTemp.find(u':Catégorie:Sports') + 1 != PageTemp.rfind(u'Catégorie:Sports'))): PageEnd = PageEnd + PageTemp[0:position] + u'|nocat=1}}' PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] else: PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}" PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break ⏎ elif Modele[p] == u'plante': if (PageTemp.find("spéc=") != -1 and PageTemp.find("spéc=") < PageTemp.find("}}")): if PageTemp.find("spéc=") > position+1: # spéc= est après le code langue if (EstCodeLangue == "false" ) or (PageTemp.find(u'Catégorie:Plantes' ) != -1 and (PageTemp.find(u':Catégorie:Plantes') < PageTemp.find(u'{{langue|') and PageTemp.find(u'{{langue|') != -1 or PageTemp.find(u'{{langue|') == -1 ) and (PageTemp.find(u':Catégorie:Plantes') + 1 != PageTemp.rfind(u'Catégorie:Plantes'))): PageEnd = PageEnd + Modele[p] + u'|nocat=1|' + PageTemp[PageTemp.find("spéc="):PageTemp.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break else: PageEnd = PageEnd + Modele[p] + u'|' + codelangue + PageTemp[PageTemp.find("spéc=")-1:PageTemp.find(u'}}')+2] PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break else: # spéc= est avant un éventuel code langue PageTemp2 = PageTemp[position+1:len(PageTemp)] if (PageTemp2.find(u'|') != -1) or (PageTemp2.find(u'|') < PageTemp2.find(u'}}')): # il y a un code langue if EstCodeLangue == "false": PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+1] + u'|nocat=1}}' PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break else: PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+2] + codelangue + u'}}' PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break else: # Pas de code langue PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')] + u'|' + codelangue + u'}}' PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break if (EstCodeLangue == "false" ) or (PageTemp.find(u'Catégorie:Plantes' ) != -1 and (PageTemp.find(u':Catégorie:Plantes') < PageTemp.find(u'{{langue|') and PageTemp.find(u'{{langue|') != -1 or PageTemp.find(u'{{langue|') == -1 ) and (PageTemp.find(u':Catégorie:Plantes') + 1 != PageTemp.rfind(u'Catégorie:Plantes'))): PageEnd = PageEnd + PageTemp[0:position] + u'|nocat=1}}' PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] else: PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}" PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)] break⏎ ⏎ elif Modele[p] == u'athlétisme' or Modele[p] == u'athlé': if (EstCodeLangue == "false" ) or (PageTemp.find(u'Catégorie:Sports' ) != -1 and (PageTemp.find(u':Catégorie:Sports') < PageTemp.find(u'{{langue|') and PageTemp.find(u'{{langue|') != -1 or PageTemp.find(u'{{langue|') == -1 ) and (PageTemp.find(u':Catégorie:Sports') + 1 != PageTemp.rfind(u'Catégorie:Sports'))): (contracted; show full) if TitreTemp.find(u'ӕ') !=-1: TitreTemp = TitreTemp.replace(u'ӕ',u'а€') # Digrammes if TitreTemp.find(u'гъ') !=-1: TitreTemp = TitreTemp.replace(u'гъ',u'г€') if TitreTemp.find(u'дж') !=-1: TitreTemp = TitreTemp.replace(u'дж',u'д€') if TitreTemp.find(u'дз') !=-1: TitreTemp = TitreTemp.replace(u'дз',u'д€ €') if TitreTemp.find(u'къ') !=-1: TitreTemp = TitreTemp.replace(u'къ',u'к€') if TitreTemp.find(u'пъ') !=-1: TitreTemp = TitreTemp.replace(u'пъ',u'п€') if TitreTemp.find(u'тъ') !=-1: TitreTemp = TitreTemp.replace(u'тъ',u'т€') if TitreTemp.find(u'хъ') !=-1: TitreTemp = TitreTemp.replace(u'хъ',u'х€') (contracted; show full) print "ServerError en sauvegarde" return except wikipedia.BadTitle: print "BadTitle en sauvegarde" return # Lancement TraitementCategorie = crawlerCat(u'Catégorie:ossète',False,u'') TraitementCategorie = crawlerCat(u'Catégorie:russe',False,u'') '''⏎ TraitementCategorie = crawlerCat(u'Catégorie:Wiktionnaire:Codes langue manquants',True,u'') TraitementCategorie = crawlerCat(u'Catégorie:Wiktionnaire:Flexions à vérifier',True,u'') TraitementLiens = crawlerLink(u'Modèle:1ergroupe',u'') TraitementLiens = crawlerLink(u'Modèle:2egroupe',u'') TraitementLiens = crawlerLink(u'Modèle:3egroupe',u'') TraitementLiens = crawlerLink(u'Modèle:trad',u'') TraitementLiens = crawlerLink(u'Modèle:-',u'') TraitementCategorie = crawlerCat(u'Catégorie:Appels de modèles incorrects:fr-verbe-flexion incomplet',False,u'') TraitementLiens = crawlerLink(u'Modèle:-ortho-alt-',u'') TraitementLiens = crawlerLink(u'Modèle:=langue=',u'') TraitementLiens = crawlerLink(u'Modèle:trad-',u'') ''' TraitementLiens = crawlerLink(u'Modèle:mascul',u'') TraitementLiens = crawlerLink(u'Modèle:fémin',u'') TraitementLiens = crawlerLink(u'Modèle:femin',u'') TraitementLiens = crawlerLink(u'Modèle:sing',u'') TraitementLiens = crawlerLink(u'Modèle:plur',u'') TraitementLiens = crawlerLink(u'Modèle:pluri',u'')⏎ #TraitementCategorie = crawlerCat(u'Catégorie:russe',False,u'') TraitementPage = modification(u'Utilisateur:JackBot/test') TraitementLiens = crawlerLink(u'Modèle:R:DAF8',u'homme') TraitementFichier = crawlerFile('articles_list.txt') TraitementLiensCategorie = crawlerCatLink(u'Modèles de code langue',u'') TraitementCategorie = crawlerCat(u'Catégorie:Appels de modèles incorrects',True) TraitementRecherche = crawlerSearch(u'clé de tri') TraitementUtilisateur = crawlerUser(u'Utilisateur:JackBot') TraitementRedirections = crawlerRedirects() TraitementTout = crawlerAll(u'') while 1: TraitementRC = crawlerRC() ''' </source> All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://fr.wiktionary.org/w/index.php?diff=prev&oldid=14225256.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|