...
 
Commits (2)
...@@ -53,43 +53,43 @@ def cleanWIP(delay): ...@@ -53,43 +53,43 @@ def cleanWIP(delay):
pywikibot.output(u"Page %s is locked; skipping." pywikibot.output(u"Page %s is locked; skipping."
% page.title(asLink=True)) % page.title(asLink=True))
else: else:
summary = u'' summary = u''
lastEdit = page.editTime() lastEdit = page.editTime()
if lastEdit < limit: if lastEdit < limit:
duration = calcDuration(lastEdit) duration = calcDuration(lastEdit)
pageTemp, templateResult = removeTemplate(pageTemp) pageTemp, templateResult = removeTemplate(pageTemp)
summary = u"[[VD:Robot|Robot]] : Retrait du bandeau %s (article non modifié depuis plus de %s jours)" %(templateResult,duration.days) summary = u"[[VD:Robot|Robot]] : Retrait du bandeau %s (article non modifié depuis plus de %s jours)" %(templateResult,duration.days)
pywikibot.showDiff(page.text, pageTemp) pywikibot.showDiff(page.text, pageTemp)
page.text = pageTemp page.text = pageTemp
print summary print summary
page.save(summary) page.save(summary)
return log return log
#Retourne la date avant laquelle on considère obsolète l'usage du modèle #Retourne la date avant laquelle on considère obsolète l'usage du modèle
def calcLimit(delay): def calcLimit(delay):
today = datetime.utcnow() today = datetime.utcnow()
limite = today - timedelta(seconds=delay) limite = today - timedelta(seconds=delay)
return limite return limite
#Retourne le temps écoulé entre une date et le jour courant #Retourne le temps écoulé entre une date et le jour courant
def calcDuration(date): def calcDuration(date):
today = datetime.utcnow() today = datetime.utcnow()
duration = today - date duration = today - date
return duration return duration
# Retrait du bandeau si besoin # Retrait du bandeau si besoin
def removeTemplate(pageTemp): def removeTemplate(pageTemp):
templateResult = '' templateResult = ''
parser = re.compile(r'{{(En)?Trav(ail|aux)(?:\|.*?)?}}(?P<fin>\r\n|\n|\ )?',re.I | re.U | re.DOTALL) parser = re.compile(r'{{(En)?Trav(ail|aux)(?:\|.*?)?}}(?P<fin>\r\n|\n|\ )?',re.I | re.U | re.DOTALL)
searchResult = parser.search(pageTemp) searchResult = parser.search(pageTemp)
if searchResult: if searchResult:
pageTemp = parser.sub('',pageTemp,1) pageTemp = parser.sub('',pageTemp,1)
templateResult = searchResult.group() templateResult = searchResult.group()
templateResult = templateResult.replace('\r\n','') #Retire les sauts de ligne contenus dans le modèle avant de l'ajouter au résumé templateResult = templateResult.replace('\r\n','') #Retire les sauts de ligne contenus dans le modèle avant de l'ajouter au résumé
templateResult = templateResult.replace('\n','') #Correspond au second type de retour à la ligne templateResult = templateResult.replace('\n','') #Correspond au second type de retour à la ligne
return pageTemp, templateResult return pageTemp, templateResult
# Exécution # Exécution
def main(): def main():
......
...@@ -95,7 +95,7 @@ def main(): ...@@ -95,7 +95,7 @@ def main():
for sub in subscribers: for sub in subscribers:
try: try:
subTemp = sub.get() sub.get()
except pywikibot.NoPage: except pywikibot.NoPage:
pywikibot.output(u"Page %s does not exist; skipping." pywikibot.output(u"Page %s does not exist; skipping."
......