User:JackBot/PagesFromBoard.py
Jump to navigation
Jump to search
#!/usr/bin/env python
# coding: utf-8
# This script creates some pages from a board
# Importing modules
from wikipedia import *
import urllib, config, re, sys, codecs
# Declaring all global values
family = "wiktionary"
mynick = "JackBot"
sitefr = getSite("fr","wiktionary")
siteen = getSite("en","wiktionary")
# Modification du wiki
def modification(PageHS):
summary = u'[[Wiktionary:Beer_parlour/2013/March#Category:en:Geological_periods|Category:en:Geological periods]] creation'
print(PageHS.encode(config.console_encoding, 'replace'))
page = Page(siteen,PageHS)
if page.exists():
try:
PageBegin = page.get()
except wikipedia.NoPage:
print "NoPage l 24"
return
else:
print "NoPage l 27"
return
# Lecture du tableau
PageTemp = PageBegin[PageBegin.find(u'Hongrois'):]
while PageTemp.find(u'|-\n|') != -1:
# Ligne suivante
if PageTemp.find(u'|-\n|') != -1:
PageTemp = PageTemp[PageTemp.find(u'|-\n|')+len(u'|-\n|'):]
NewPage = trim(PageTemp[0:PageTemp.find(u'\n| ')]).replace("[","").replace("]","")
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Definition = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Catalan = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Allemand = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Espagnol = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Francais = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Italien = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Neerlandais = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Polonais = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
if PageTemp.find(u'\n|') != -1 and PageTemp.find(u'\n| ') < PageTemp.find(u'|-'):
PageTemp = PageTemp[PageTemp.find(u'\n|')+2:]
Hongrois = trim(PageTemp[0:min(PageTemp.find(u'\n|'),PageTemp.find(u'\n'))])
PageEnd = u"==English==\n{{wikipedia}}\n\n===Noun===\n{{en-noun|-}}\n\n# " + Definition + u".\n\n====Translations====\n{{trans-top}}"
if Catalan != "": PageEnd = PageEnd + u'\n* Catalan: {{t|ca|' + Catalan.replace("[","").replace("]","") + u'}}'
if Neerlandais != "": PageEnd = PageEnd + u'\n* Dutch: {{t|nl|' + Neerlandais.replace("[","").replace("]","") + u'}}'
if Francais != "": PageEnd = PageEnd + u'\n* French: {{t|fr|' + Francais.replace("[","").replace("]","") + u'}}'
if Allemand != "": PageEnd = PageEnd + u'\n* German: {{t|de|' + Allemand.replace("[","").replace("]","") + u'}}'
if Hongrois != "": PageEnd = PageEnd + u'\n* Hungarian: {{t|hu|' + Hongrois.replace("[","").replace("]","") + u'}}'
if Italien != "": PageEnd = PageEnd + u'\n* Italian: {{t|it|' + Italien.replace("[","").replace("]","") + u'}}'
if Polonais != "": PageEnd = PageEnd + u'\n* Polish: {{t|pl|' + Polonais.replace("[","").replace("]","") + u'}}'
if Espagnol != "": PageEnd = PageEnd + u'\n* Spanish: {{t|es|' + Espagnol.replace("[","").replace("]","") + u'}}'
PageEnd = PageEnd + u'\n{{trans-bottom}}\n\n[[Category:en:Geological periods]]'
#ClePage = CleDeTri(NewPage)
#if ClePage != u'' and ClePage != PageHS and ClePage.lower() != PageHS.lower(): PageEnd = PageEnd + u'\n\n{{clé de tri|' + ClePage + u'}}'
newpage = Page(siteen,NewPage)
if not newpage.exists(): sauvegarde(newpage, PageEnd, summary)
# Adjectives
if NewPage.lower() != NewPage:
PageEnd2 = u"==English==\n\n===Adjective===\n{{en-adj|-}}\n\n# Relating to " + NewPage + u"."
newpage2 = Page(siteen,NewPage.lower())
if not newpage2.exists(): sauvegarde(newpage2, PageEnd2, summary)
def CleDeTri(PageTitre):
PageT = u''
key = "false"
for lettre in range(0,len(PageTitre)):
# Latin
if PageTitre[lettre:lettre+1] == u'à' or PageTitre[lettre:lettre+1] == u'Á' or PageTitre[lettre:lettre+1] == u'á' or PageTitre[lettre:lettre+1] == u'â' or PageTitre[lettre:lettre+1] == u'ä' or PageTitre[lettre:lettre+1] == u'a' or PageTitre[lettre:lettre+1] == u'a' or PageTitre[lettre:lettre+1] == u'a' or PageTitre[lettre:lettre+1] == u'a' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'À' or PageTitre[lettre:lettre+1] == u'Â' or PageTitre[lettre:lettre+1] == u'Ä' or PageTitre[lettre:lettre+1] == u'Å' or PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'å' or PageTitre[lettre:lettre+1] == u'Å':
PageT = PageT + "a"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'æ' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Æ' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "ae"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'b' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "b"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ç' or PageTitre[lettre:lettre+1] == u'c' or PageTitre[lettre:lettre+1] == u'c' or PageTitre[lettre:lettre+1] == u'c' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Ç' or PageTitre[lettre:lettre+1] == u'C' or PageTitre[lettre:lettre+1] == u'C' or PageTitre[lettre:lettre+1] == u'C' or PageTitre[lettre:lettre+1] == u'C' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "c"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'c':
PageT = PageT + "cx"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'd' or PageTitre[lettre:lettre+1] == u'd' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'D' or PageTitre[lettre:lettre+1] == u'Ð' or PageTitre[lettre:lettre+1] == u'Ð' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "d"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'è' or PageTitre[lettre:lettre+1] == u'È' or PageTitre[lettre:lettre+1] == u'é' or PageTitre[lettre:lettre+1] == u'É' or PageTitre[lettre:lettre+1] == u'ê' or PageTitre[lettre:lettre+1] == u'Ê' or PageTitre[lettre:lettre+1] == u'ë' or PageTitre[lettre:lettre+1] == u'Ë' or PageTitre[lettre:lettre+1] == u'e' or PageTitre[lettre:lettre+1] == u'e' or PageTitre[lettre:lettre+1] == u'e' or PageTitre[lettre:lettre+1] == u'e' or PageTitre[lettre:lettre+1] == u'e' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "e"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ƒ' or PageTitre[lettre:lettre+1] == u'ƒ':
PageT = PageT + "f"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'g':
PageT = PageT + "gx"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'g' or PageTitre[lettre:lettre+1] == u'g' or PageTitre[lettre:lettre+1] == u'g' or PageTitre[lettre:lettre+1] == u'g' or PageTitre[lettre:lettre+1] == u'g' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "g"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'h':
PageT = PageT + "hx"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'h' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'H' or PageTitre[lettre:lettre+1] == u'H' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "h"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'i' or PageTitre[lettre:lettre+1] == u'î' or PageTitre[lettre:lettre+1] == u'i' or PageTitre[lettre:lettre+1] == u'i' or PageTitre[lettre:lettre+1] == u'i' or PageTitre[lettre:lettre+1] == u'i' or PageTitre[lettre:lettre+1] == u'i' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Î' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'ì' or PageTitre[lettre:lettre+1] == u'Ì' or PageTitre[lettre:lettre+1] == u'ï' or PageTitre[lettre:lettre+1] == u'Ï':
PageT = PageT + "i"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'j':
PageT = PageT + "jx"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'j' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'J' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "j"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'k' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'k' or PageTitre[lettre:lettre+1] == u'K' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'K':
PageT = PageT + "k"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'l' or PageTitre[lettre:lettre+1] == u'l' or PageTitre[lettre:lettre+1] == u'l' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'l' or PageTitre[lettre:lettre+1] == u'l' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'L' or PageTitre[lettre:lettre+1] == u'L' or PageTitre[lettre:lettre+1] == u'L' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'L' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'í' or PageTitre[lettre:lettre+1] == u'Í':
PageT = PageT + "i"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "m"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'n' or PageTitre[lettre:lettre+1] == u'n' or PageTitre[lettre:lettre+1] == u'n' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'N' or PageTitre[lettre:lettre+1] == u'N' or PageTitre[lettre:lettre+1] == u'N' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'ñ' or PageTitre[lettre:lettre+1] == u'Ñ':
PageT = PageT + "n"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ô' or PageTitre[lettre:lettre+1] == u'Ô' or PageTitre[lettre:lettre+1] == u'ø' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'o' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Ø' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'ò' or PageTitre[lettre:lettre+1] == u'ó':
PageT = PageT + "o"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'œ' or PageTitre[lettre:lettre+1] == u'Œ':
PageT = PageT + "oe"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "p"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "q"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'r' or PageTitre[lettre:lettre+1] == u'r' or PageTitre[lettre:lettre+1] == u'r' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'R' or PageTitre[lettre:lettre+1] == u'R' or PageTitre[lettre:lettre+1] == u'R' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "r"
key = "yes"
elif PageTitre[lettre:lettre+1] == u's':
PageT = PageT + "sx"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u's' or PageTitre[lettre:lettre+1] == u's' or PageTitre[lettre:lettre+1] == u'š' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'S' or PageTitre[lettre:lettre+1] == u'S' or PageTitre[lettre:lettre+1] == u'S' or PageTitre[lettre:lettre+1] == u'Š' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'ß':
PageT = PageT + "s"
key = "yes"
elif PageTitre[lettre:lettre+1] == u't' or PageTitre[lettre:lettre+1] == u't' or PageTitre[lettre:lettre+1] == u't' or PageTitre[lettre:lettre+1] == u't' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'T' or PageTitre[lettre:lettre+1] == u'T' or PageTitre[lettre:lettre+1] == u'T' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'T' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "t"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'u':
PageT = PageT + "ux"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'û' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'u' or PageTitre[lettre:lettre+1] == u'a' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Û' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'ú' or PageTitre[lettre:lettre+1] == u'Ú' or PageTitre[lettre:lettre+1] == u'ù' or PageTitre[lettre:lettre+1] == u'Ù' or PageTitre[lettre:lettre+1] == u'ü' or PageTitre[lettre:lettre+1] == u'Ü':
PageT = PageT + "u"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "v"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'w' or PageTitre[lettre:lettre+1] == u'W':
PageT = PageT + "w"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'y' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Y' or PageTitre[lettre:lettre+1] == u'Ÿ' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "y"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'z' or PageTitre[lettre:lettre+1] == u'z' or PageTitre[lettre:lettre+1] == u'ž' or PageTitre[lettre:lettre+1] == u'z' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'Z' or PageTitre[lettre:lettre+1] == u'Z' or PageTitre[lettre:lettre+1] == u'Ž' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "z"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'\'' or PageTitre[lettre:lettre+1] == u'’' or PageTitre[lettre:lettre+1] == u'\'':
PageT = PageT + ""
key = "yes"
elif PageTitre[lettre:lettre+1] == u'-':
PageT = PageT + " "
key = "yes"
elif PageTitre[lettre:lettre+1] == u'/':
PageT = PageT + " "
key = "yes"
elif PageTitre[lettre:lettre+1] == u'\\':
PageT = PageT + ""
key = "yes"'''
# Grec
elif PageTitre[lettre:lettre+1] == u'a' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "a"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "e"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
# Cyrillique
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + u'?'
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
# Arabe
elif PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?' or PageTitre[lettre:lettre+1] == u'?':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'??' or PageTitre[lettre:lettre+1] == u'??' or PageTitre[lettre:lettre+1] == u'??':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'??':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'??':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'??':
PageT = PageT + "?"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'??':
PageT = PageT + "?"
key = "yes"'''
elif PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'B' or PageTitre[lettre:lettre+1] == u'C' or PageTitre[lettre:lettre+1] == u'D' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'F' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'H' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'J' or PageTitre[lettre:lettre+1] == u'K' or PageTitre[lettre:lettre+1] == u'L' or PageTitre[lettre:lettre+1] == u'M' or PageTitre[lettre:lettre+1] == u'N' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'P' or PageTitre[lettre:lettre+1] == u'Q' or PageTitre[lettre:lettre+1] == u'R' or PageTitre[lettre:lettre+1] == u'S' or PageTitre[lettre:lettre+1] == u'T' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'V' or PageTitre[lettre:lettre+1] == u'W' or PageTitre[lettre:lettre+1] == u'X' or PageTitre[lettre:lettre+1] == u'Y' or PageTitre[lettre:lettre+1] == u'Z':
PageT = PageT + PageTitre[lettre:lettre+1].lower()
else:
PageT = PageT + PageTitre[lettre:lettre+1]
#print (PageT.encode(config.console_encoding, 'replace'))
#raw_input("lettre")
if key == "yes":
while PageT[0:1] == u' ': PageT = PageT[1:len(PageT)]
return PageT
else:
#raw_input(PageTitre.encode(config.console_encoding, 'replace'))
return PageTitre
def trim(s):
return s.strip(" \t\n\r\0\x0B")
def rec_anagram(counter):
# Copyright http://www.siteduzero.com/forum-83-541573-p2-exercice-generer-tous-les-anagrammes.html
if sum(counter.values()) == 0:
yield ''
else:
for c in counter:
if counter[c] != 0:
counter[c] -= 1
for _ in rec_anagram(counter):
yield c + _
counter[c] += 1
def anagram(word):
return rec_anagram(collections.Counter(word))
# Lecture du fichier articles_list.txt (au même format que pour replace.py)
def crawlerFile(source):
if source:
PagesHS = open(source, 'r')
while 1:
PageHS = PagesHS.readline()
fin = PageHS.find("\t")
PageHS = PageHS[0:fin]
if PageHS == '': break
if PageHS.find(u'[[') != -1:
PageHS = PageHS[PageHS.find(u'[[')+2:len(PageHS)]
if PageHS.find(u']]') != -1:
PageHS = PageHS[0:PageHS.find(u']]')]
modification(PageHS)
PagesHS.close()
# Traitement d'une catégorie
def crawlerCat(category,recursif,apres):
modifier = u'False'
cat = catlib.Category(site, category)
pages = cat.articlesList(False)
for Page in pagegenerators.PreloadingGenerator(pages,100):
if not apres or apres == u'' or modifier == u'True':
modification(Page.title()) #crawlerLink(Page.title())
elif Page.title() == apres:
modifier = u'True'
if recursif == True:
subcat = cat.subcategories(recurse = True)
for subcategory in subcat:
pages = subcategory.articlesList(False)
for Page in pagegenerators.PreloadingGenerator(pages,100):
modification(Page.title())
# Traitement des pages liées
def crawlerLink(pagename,apres):
modifier = u'False'
#pagename = unicode(arg[len('-links:'):], 'utf-8')
page = wikipedia.Page(site, pagename)
gen = pagegenerators.ReferringPageGenerator(page)
#gen = pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
for Page in pagegenerators.PreloadingGenerator(gen,100):
#print(Page.title().encode(config.console_encoding, 'replace'))
if not apres or apres == u'' or modifier == u'True':
modification(Page.title()) #crawlerLink(Page.title())
elif Page.title() == apres:
modifier = u'True'
# Traitement des pages liées des entrées d'une catégorie
def crawlerCatLink(pagename,apres):
modifier = u'False'
cat = catlib.Category(site, pagename)
pages = cat.articlesList(False)
for Page in pagegenerators.PreloadingGenerator(pages,100):
page = wikipedia.Page(site, Page.title())
gen = pagegenerators.ReferringPageGenerator(page)
#gen = pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
for PageLiee in pagegenerators.PreloadingGenerator(gen,100):
#print(Page.title().encode(config.console_encoding, 'replace'))
if not apres or apres == u'' or modifier == u'True':
modification(PageLiee.title()) #crawlerLink(Page.title())
elif PageLiee.title() == apres:
modifier = u'True'
# Traitement d'une recherche
def crawlerSearch(pagename):
gen = pagegenerators.SearchPageGenerator(pagename, namespaces = "0")
for Page in pagegenerators.PreloadingGenerator(gen,100):
modification(Page.title())
# Traitement des modifications récentes
def crawlerRC():
gen = pagegenerators.RecentchangesPageGenerator()
for Page in pagegenerators.PreloadingGenerator(gen,100):
modification(Page.title())
# Traitement des modifications d'un compte
def crawlerUser(username):
gen = pagegenerators.UserContributionsGenerator(username)
for Page in pagegenerators.PreloadingGenerator(gen,100):
modification(Page.title())
# Toutes les redirections
def crawlerRedirects():
for Page in site.allpages(start=u'', namespace=0, includeredirects='only'):
modification(Page.title())
# Traitement de toutes les pages du site
def crawlerAll(start):
gen = pagegenerators.AllpagesPageGenerator(start,namespace=0,includeredirects=False)
for Page in pagegenerators.PreloadingGenerator(gen,100):
#print (Page.title().encode(config.console_encoding, 'replace'))
modification(Page.title())
# Permet à tout le monde de stopper le bot en lui écrivant
def ArretDUrgence():
page = Page(siteen,u'User talk:' + mynick)
if page.exists():
PageTemp = u''
try:
PageTemp = page.get()
except wikipedia.NoPage: return
except wikipedia.IsRedirectPage: return
except wikipedia.LockedPage: return
except wikipedia.ServerError: return
except wikipedia.BadTitle: return
except pywikibot.EditConflict: return
if PageTemp != u"{{/Stop}}":
pywikibot.output (u"\n*** \03{lightyellow}Arrêt d'urgence demandé\03{default} ***")
exit(0)
def sauvegarde(PageCourante, Contenu, summary):
ArretDUrgence()
result = "ok"
#print(Contenu.encode(config.console_encoding, 'replace')) #[len(Contenu)-2000:len(Contenu)]) #
#result = raw_input("Sauvegarder ? (o/n) ")
if result != "n" and result != "no" and result != "non":
if not summary: summary = u'[[Wiktionnaire:Structure des articles|Autoformatage]]'
try:
PageCourante.put(Contenu, summary)
except wikipedia.NoPage:
print "NoPage en sauvegarde"
return
except wikipedia.IsRedirectPage:
print "IsRedirectPage en sauvegarde"
return
except wikipedia.LockedPage:
print "LockedPage en sauvegarde"
return
except pywikibot.EditConflict:
print "EditConflict en sauvegarde"
return
except wikipedia.ServerError:
print "ServerError en sauvegarde"
return
except wikipedia.BadTitle:
print "BadTitle en sauvegarde"
return
except AttributeError:
print "AttributeError en sauvegarde"
return
# Lancement
PageHS = u'User:Christian COGNEAUX/English geologic names'
TraitementPage = modification(PageHS)
'''
# Modèles
TraitementPage = modification(u'Utilisateur:JackBot/test')
TraitementLiens = crawlerLink(u'Modèle:R:DAF8',u'homme')
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()
'''