Commit cd39001c authored by Linedwell's avatar Linedwell

Refactoring with pyLint

parent fd6d9be4
......@@ -12,18 +12,19 @@
import sys
sys.path.insert(1, '..') #ajoute au PYTHONPATH le répertoire parent
import time
import shutil
import mylogging
import pywikibot
from pywikibot import pagegenerators
import time
import shutil
import callback
import logger
import grapher
# Déclarations
site = pywikibot.Site('fr','wikipedia')
site = pywikibot.Site('fr', 'wikipedia')
def admissibilite(pagesList):
log = u''
......@@ -46,16 +47,16 @@ def admissibilite(pagesList):
saveBackupFile(actualList)
summary = u"Mise à jour (+%s; -%s; =%s)" %(nbAdd,nbRem,total)
summary = u"Mise à jour (+%s; -%s; =%s)" %(nbAdd, nbRem, total)
return log, summary, total
#Return the content of the given category (only pages from namespace 0)
def getCategoryContent(catname):
cat = pywikibot.Category(site,catname)
cat = pywikibot.Category(site, catname)
pagesInCat = list(cat.articles(False))
pagesList = pagegenerators.PreloadingGenerator(pagesInCat) # On génère la liste des pages incluses dans la catégorie
pagesList = pagegenerators.NamespaceFilterPageGenerator(pagesList,[0]) #On ne garde que les articles (Namespace 0)
pagesList = pagegenerators.NamespaceFilterPageGenerator(pagesList, [0]) #On ne garde que les articles (Namespace 0)
return pagesList
......@@ -69,14 +70,14 @@ def titleList(pagesList):
#Save a list to the backup file
def saveBackupFile(tlist):
bfile = open('_admissibilite.bak','w+')
bfile = open('_admissibilite.bak', 'w+')
for s in tlist:
bfile.write(s.encode('utf-8') + '\n')
bfile.close()
#Load a list from the backup file
def loadBackupFile():
bfile = open('_admissibilite.bak','r')
bfile = open('_admissibilite.bak', 'r')
oldList = bfile.readlines()
oldList = [s.strip('\n') for s in oldList]
oldList = [s.decode('utf-8') for s in oldList]
......@@ -89,14 +90,17 @@ def loadBackupFile():
def main():
log = u''
timeStart = time.time()
shutil.copyfile('_admissibilite.bak','_admissibilite.bak.bak')
shutil.copyfile('_admissibilite.bak', '_admissibilite.bak.bak')
catname = u"Tous les articles dont l'admissibilité est à vérifier"
pagesList = getCategoryContent(catname)
log, summary, total = admissibilite(pagesList)
grapher.update(total)
logger.editLog(site,log,page=u"Projet:Maintenance/Suivi d'admissibilité",summary=summary,ar=False,cl=15)
logger.editLog(site, log, page=u"Projet:Maintenance/Suivi d'admissibilité", summary=summary, ar=False, cl=15)
pywikibot.output(summary)
timeEnd = time.time()
pywikibot.output(u"%s in %s s."
%(summary, round(timeEnd-timeStart, 2)))
if __name__ == "__main__":
try:
......
......@@ -15,7 +15,7 @@ import mylogging
import pywikibot
import time
from datetime import date, datetime, timedelta
from datetime import datetime, timedelta
# Déclarations
dicoFR = {
......
......@@ -20,17 +20,16 @@ import time
from datetime import datetime
import pywikibot
from pywikibot import pagegenerators
# Déclarations
site = pywikibot.Site('fr','wikipedia')
#Met à jour le tableau récapitulatif
def disambigWarningUpdater(pageTemp,newNumber):
pageTemp = re.split('(\|-\n)', pageTemp, maxsplit=3)
pageTemp = re.split(r'(\|-\n)', pageTemp, maxsplit=3)
pageTempBegin = u''.join(pageTemp[:-1])
pageTempBody = u''.join(pageTemp[-1:])
pageTempBody = re.split('\|\}\n',pageTempBody)
pageTempBody = re.split(r'\|\}\n',pageTempBody)
pageTempEnd = u'|}\n' + u''.join(pageTempBody[-1:])
pageTempBody = u''.join(pageTempBody[:-1])
lastRaw = pageTempBody.rsplit('|-\n',1)[1]
......@@ -47,12 +46,12 @@ def disambigWarningUpdater(pageTemp,newNumber):
def rawParser(raw):
rawItems = raw.split('|')
id = ''.join(rawItems[1].split())
ident = ''.join(rawItems[1].split())
date = ''.join(rawItems[2].split())
number = ''.join(re.findall('\d+',rawItems[5]))
number = ''.join(re.findall(r'\d+',rawItems[5]))
rawObj = {
'id' : id,
'id' : ident,
'date' : date,
'number' : number
}
......
......@@ -16,12 +16,12 @@ import mylogging
import pywikibot
# Déclarations
site = pywikibot.Site('fr','wikipedia')
site = pywikibot.Site('fr', 'wikipedia')
page = pywikibot.Page(site, u"Projet:Maintenance/Suivi d'admissibilité/graphe")
# Met à jour le graphe de la page passée en paramètre avec la nouvelle valeur
def update(val):
last_values = file('_grapher.dat','r').readlines()[-14:]
last_values = file('_grapher.dat', 'r').readlines()[-14:]
last_values = [int(el.strip()) for el in last_values]
last_values.append(val)
......@@ -87,7 +87,6 @@ def update(val):
"val13": last_values[12],
"val14": last_values[13],
"val15": last_values[14],
}
template = u"<noinclude>{{Mise à jour bot|Linedwell}}</noinclude>\n<center>\n{{Graphique polygonal" + fields.format(**context) + u"}}\n\n'''Évolution au cours des deux dernières semaines'''\n</center>"
......@@ -96,7 +95,7 @@ def update(val):
page.text = template
page.save(summary)
gr_dat = open('_grapher.dat','w')
for val in last_values:
gr_dat.write(str(val) + '\n')
gr_dat = open('_grapher.dat', 'w')
for value in last_values:
gr_dat.write(str(value) + '\n')
gr_dat.close()
......@@ -150,14 +150,14 @@ def getSysopsLastEdit():
return sysopLastEdit
#Retourne la liste des administrateurs inactifs depuis <hardlimit>, notifie ceux inactifs depuis <softlimit>
def getInactiveSysops(list):
def getInactiveSysops(sysop_list):
hardlimit = calcLimit(dico['hard'])
softlimit = calcLimit(dico['soft'])
inactiveSysopsHard = []
inactiveSysopsSoft = []
for sysop in sorted(list.iterkeys()):
lastEdit = list[sysop]
for sysop in sorted(sysop_list.iterkeys()):
lastEdit = sysop_list[sysop]
if lastEdit < hardlimit:
inactiveSysopsHard.append([sysop,lastEdit])
elif lastEdit < softlimit:
......@@ -166,9 +166,9 @@ def getInactiveSysops(list):
return inactiveSysopsHard, inactiveSysopsSoft
#Notifie la liste des admins ayant presque atteint le seuil d'inactivité de la possible suspension de leurs outils
def notifySysop(list):
if len(list) > 0:
for i in list:
def notifySysop(sysop_list):
if len(sysop_list) > 0:
for i in sysop_list:
sysop, lastEdit = i
page = pywikibot.Page(dico['site'],u"User talk:"+sysop)
status = db_check_status(dico['site'].lang,sysop)
......@@ -190,14 +190,14 @@ def notifySysop(list):
#Envoie sur VD:DB la liste des administrateurs inactifs ainsi que la durée de leur inactivité
def reportInactiveSysops(list):
def reportInactiveSysops(sysop_list):
page = pywikibot.Page(dico['site'],dico['page'])
if len(list) > 0:
if len(sysop_list) > 0:
section = dico['section']
report = ''
for i in list:
for i in sysop_list:
sysop, lastEdit = i
status = db_check_status(dico['site'].lang,sysop)
......
......@@ -56,11 +56,11 @@ def initPages(dico):
page.text = pageTemp
page.save(summary,force=True)
else:
pywikibot.output(u"Page %s already exists; skipping."
else:
pywikibot.output(u"Page %s already exists; skipping."
% page.title(asLink=True))
index += 1
index += 1
#Exécution
def main():
......
......@@ -64,9 +64,6 @@ def inter(page):
except ValueError:
pywikibot.output(u"Page %s has interwiki issues; skipping."
% page.title(asLink=True))
except ValueError:
pywikibot.output(u"Page %s has unknown issues; skipping."
% page.title(asLink=True))
else:
......@@ -185,31 +182,31 @@ def getInterwiki(page):
#Récupération de la liste des interwikis "exotiques"
def getExterwiki(page):
text = page.text
extraLang = ['nl','de']
extraLang = ['nl', 'de']
for el in extraLang:
exIw = re.search(r"\[\[" + el + "\:(?P<ln>.*)\]\]", text)
exIw = re.search(r"\[\[" + el + r"\:(?P<ln>.*)\]\]", text)
if exIw != None:
yield u"[[" + el + ":" + exIw.group('ln') + "]]"
#Mise à jour de l'interwiki (éventuel) vers Wikipédia
def updateWPlink(page,pageTemp):
pageTemp = pageTemp.replace("{{FULLPAGENAME}}",page.title()) #Nécessaire pour corriger les flemmards
pageTemp = pageTemp.replace("{{PAGENAME}}",page.title()) #Nécessaire pour corriger les flemmards
pageTemp = pageTemp.replace("{{BASEPAGENAME}}",page.title()) #Nécessaire pour corriger les flemmards
wpPage = pywikibot.Page(pywikibot.Site(page.site.lang,"wikipedia"),page.title())
pageTemp = pageTemp.replace("{{FULLPAGENAME}}", page.title()) #Nécessaire pour corriger les flemmards
pageTemp = pageTemp.replace("{{PAGENAME}}", page.title()) #Nécessaire pour corriger les flemmards
pageTemp = pageTemp.replace("{{BASEPAGENAME}}", page.title()) #Nécessaire pour corriger les flemmards
wpPage = pywikibot.Page(pywikibot.Site(page.site.lang, "wikipedia"),page.title())
wpLink = ''
if wpPage.exists():
wpLink = u"[[wp:" + wpPage.title() + "]]"
m = re.search(r"\[\[wp\:(?P<ln>.*?)\]\]",pageTemp)
m = re.search(r"\[\[wp\:(?P<ln>.*?)\]\]", pageTemp)
if m != None:
oldWpPage = pywikibot.Page(pywikibot.Site(page.site.lang,"wikipedia"),m.group('ln'))
oldWpPage = pywikibot.Page(pywikibot.Site(page.site.lang, "wikipedia"),m.group('ln'))
if not oldWpPage.exists():
pageTemp.replace(m.group(),wpLink)
pageTemp.replace(m.group(), wpLink)
else:
pageTemp += '\n' + wpLink
......@@ -219,16 +216,16 @@ def updateWPlink(page,pageTemp):
#Retire les occurences multiples de liens vers la même langue
def removeDuplicates(pageTemp):
for key in site:
occurences = len(re.findall(r"\[\[" + key + ":.*?\]\]",pageTemp))
occurences = len(re.findall(r"\[\[" + key + r":.*?\]\]", pageTemp))
if occurences > 1:
pageTemp = re.sub(r"\[\[" + key + ":.*?\]\](\n)?",'',pageTemp,count=occurences-1,flags=re.I | re.U)
pageTemp = re.sub(r"\[\[" + key + r":.*?\]\](\n)?", '', pageTemp, count=occurences-1, flags=re.I | re.U)
return pageTemp
#Exécution
def main():
source = pywikibot.getSite('fr','vikidia')
pagesList = pagegenerators.AllpagesPageGenerator(namespace=0,includeredirects=False,site=source,start=u"")
source = pywikibot.getSite('fr', 'vikidia')
pagesList = pagegenerators.AllpagesPageGenerator(namespace=0,includeredirects=False, site=source, start=u"")
for page in pagesList:
print page.title()
inter(page)
......
......@@ -12,7 +12,7 @@ import sys
sys.path.insert(1, '..') #ajoute au PYTHONPATH le répertoire parent
import time
from datetime import date, datetime, timedelta
from datetime import datetime, timedelta
import pywikibot
......@@ -85,6 +85,6 @@ def clean(pageTemp, days=30):
return pageTemp
def setValues(nbTotal, nbModif):
global nbrTotal, nbrModif
nbrTotal = nbTotal
nbrModif = nbModif
\ No newline at end of file
global nbrTotal, nbrModif
nbrTotal = nbTotal
nbrModif = nbModif
......@@ -47,7 +47,7 @@ def getRecentEdits(userName,timestamp):
pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<"
% page.title())
pywikibot.showDiff(page.text,oldVersion)
summary = u"Révocation massive des modifications de %s (retour à la version de %s)" %(userName,previous_revision[1]);
summary = u"Révocation massive des modifications de %s (retour à la version de %s)" %(userName,previous_revision[1])
if not acceptAll:
......@@ -86,6 +86,7 @@ def main():
timestamp = sys.argv[2]
getRecentEdits(user,timestamp)
timeEnd = time.time()
pywikibot.output("Action performed in %s s." %(round(timeEnd-timeStart,2)))
else:
print "usage: python " + sys.argv[0] + " <target> <YYYY-mm-ddTHH:MM:SSZ>"
exit(2)
......
......@@ -17,7 +17,6 @@ import mylogging
import re
import time
import pywikibot
from pywikibot import pagegenerators
#Variables globales
site = pywikibot.Site('fr','wikipedia')
......@@ -25,8 +24,8 @@ site = pywikibot.Site('fr','wikipedia')
delimiterBegin = u"= Propositions =\n"
delimiterEnd = u"= Maintenance : mise à jour =\n"
delimiterBeginRegex = u"=\s*Propositions\s*=\n"
delimiterEndRegex = u"=\s*Maintenance : mise à jour\s*=\n"
delimiterBeginRegex = ur"=\s*Propositions\s*=\n"
delimiterEndRegex = ur"=\s*Maintenance : mise à jour\s*=\n"
summary = ""
......@@ -72,7 +71,7 @@ def pasRemoveSection(pageTemp):
pageTempBody, pageTempEnd = re.split(delimiterEndRegex,pageTempBody)
pageTempEnd = delimiterEnd + pageTempEnd
section = re.split('(==\s*\d*(?:er)? \w*\s*==\n)',pageTempBody,flags=re.U)
section = re.split(r'(==\s*\d*(?:er)? \w*\s*==\n)',pageTempBody,flags=re.U)
parser = re.compile(ur'{{En-tête section PàS\|.*?}}\s*{{Boîte déroulante\/début\|.*?}}', re.U | re.I | re.M)
pageTempBody = u''
......
This diff is collapsed.
......@@ -17,7 +17,6 @@ import mylogging
from datetime import datetime
import pywikibot
from pywikibot import pagegenerators
import mailer
......@@ -74,17 +73,17 @@ def mail_report(report):
#Exécution
def main():
last_check_file = 'rights-watcher.last'
file = open(last_check_file,'r')
last_check = file.read()
file.close()
bfile = open(last_check_file,'r')
last_check = bfile.read()
bfile.close()
report = rights_logs(last_check)
mail_report(report)
now = datetime.utcnow()
file = open(last_check_file,'w')
file.write(now.isoformat())
file.close()
bfile = open(last_check_file,'w')
bfile.write(now.isoformat())
bfile.close()
if __name__ == "__main__":
try:
......
......@@ -15,7 +15,6 @@ sys.path.insert(1, '..') #ajoute au PYTHONPATH le répertoire parent
import mylogging
import pywikibot
import time
# Déclarations
site = pywikibot.Site('fr','wikipedia')
......
......@@ -69,8 +69,8 @@ class TranslationDrive:
# Recupere la liste des traductions demandées
def getList(self):
input = textlib.extract_templates_and_params(self.translationPage.text)
for row in input:
input_requests = textlib.extract_templates_and_params(self.translationPage.text)
for row in input_requests:
if row[0] == templateName:
dicoTrans = {}
for p in self.translationParam:
......
......@@ -27,77 +27,77 @@ nbrTotal = 0
# Récupération des pages avec un modèle de protection inadapté
def getPagesList():
cat = pywikibot.Category(site,u'Catégorie:Page dont la protection est à vérifier')
pagesInCat = list(cat.articles(False))
pagesList = pagegenerators.PreloadingGenerator(pagesInCat)
pagesList = pagegenerators.NamespaceFilterPageGenerator(pagesList,[0]) #On ne garde que les articles (Namespace 0)
cat = pywikibot.Category(site,u'Catégorie:Page dont la protection est à vérifier')
pagesInCat = list(cat.articles(False))
pagesList = pagegenerators.PreloadingGenerator(pagesInCat)
pagesList = pagegenerators.NamespaceFilterPageGenerator(pagesList,[0]) #On ne garde que les articles (Namespace 0)
return pagesList
return pagesList
# Mets à jour le modèle de protection présent sur une page afin de correspondre à la protection effective
def updatePage(page):
protlev = getProtectionLevel(page)
pywikibot.output(u"Current protection level: %s"
protlev = getProtectionLevel(page)
pywikibot.output(u"Current protection level: %s"
% (protlev,))
pageTemp = page.get()
pageTempNew = updateEditProtectionTemplate(pageTemp, protlev[0])
pageTempNew = updateMoveProtectionTemplate(pageTempNew, protlev[1])
pywikibot.showDiff(pageTemp, pageTempNew)
sk = raw_input()
if sk != '':
return
summary = u"[[WP:Bot|Robot]] : Mise à jour du modèle de protection"
page.text = pageTempNew
page.save(summary)
pageTemp = page.get()
pageTempNew = updateEditProtectionTemplate(pageTemp, protlev[0])
pageTempNew = updateMoveProtectionTemplate(pageTempNew, protlev[1])
pywikibot.showDiff(pageTemp, pageTempNew)
sk = raw_input()
if sk != '':
return
summary = u"[[WP:Bot|Robot]] : Mise à jour du modèle de protection"
page.text = pageTempNew
page.save(summary)
# Récupère sous forme de tuple les niveaux de protection en écriture et en renommage de la page, None si aucune protection en cours
def getProtectionLevel(page):
prot = page.protection()
pl_ed = None
pl_mv = None
if u'edit' in prot: # Si la page est actuellement protégée en écriture
pl_ed = prot[u'edit'][0]
prot = page.protection()
pl_ed = None
pl_mv = None
if u'edit' in prot: # Si la page est actuellement protégée en écriture
pl_ed = prot[u'edit'][0]
if u'move' in prot: # Si la page est actuellement protégée en renommage
pl_mv = prot[u'move'][0]
if u'move' in prot: # Si la page est actuellement protégée en renommage
pl_mv = prot[u'move'][0]
return (pl_ed, pl_mv)
return (pl_ed, pl_mv)
# Retrait du modèle précédent et ajout si nécessaire du modèle de protection adéquat
def updateEditProtectionTemplate(text, protlev):
motif = [u'SP(E)?',u'[Ss]emi-protégé',u'([Ss]emi[- ])?[Pp]rotection([_ ](étendue|(?P<SPL>longue)))?']
protTemplate = {
'autoconfirmed' : u'{{Semi-protection}}',
'editextendedsemiprotected' : u'{{Semi-protection étendue}}',
'sysop' : u'{{Protection}}',
}
for m in motif:
parser = re.compile(r'{{' + m + r'.*?}}(\s*?|(?={{))', re.U | re.DOTALL)
searchResult = parser.search(text) #On cherche si le motif {{m}} existe dans la page
if searchResult:
pywikibot.output(u"Template found: %s" % searchResult.group())
text = parser.sub('',text,1) #Retire la 1re occurrence du motif dans la page
if protlev and searchResult.group('SPL'):
text = u'{{Semi-protection longue}}' + '\n' + text
elif protlev:
text = protTemplate[protlev] + '\n' + text
#print text
return text
motif = [u'SP(E)?',u'[Ss]emi-protégé',u'([Ss]emi[- ])?[Pp]rotection([_ ](étendue|(?P<SPL>longue)))?']
protTemplate = {
'autoconfirmed' : u'{{Semi-protection}}',
'editextendedsemiprotected' : u'{{Semi-protection étendue}}',
'sysop' : u'{{Protection}}',
}
for m in motif:
parser = re.compile(r'{{' + m + r'.*?}}(\s*?|(?={{))', re.U | re.DOTALL)
searchResult = parser.search(text) #On cherche si le motif {{m}} existe dans la page
if searchResult:
pywikibot.output(u"Template found: %s" % searchResult.group())
text = parser.sub('',text,1) #Retire la 1re occurrence du motif dans la page
if protlev and searchResult.group('SPL'):
text = u'{{Semi-protection longue}}' + '\n' + text
elif protlev:
text = protTemplate[protlev] + '\n' + text
#print text
return text
def updateMoveProtectionTemplate(text, protlev):
motif = [u'Nom[_ ]protégé']
motif = [u'Nom[_ ]protégé']
for m in motif:
parser = re.compile(r'{{' + m + r'}}(\s*?|(?={{))',re.I | re.U | re.DOTALL)
searchResult = parser.search(text) #On cherche si le motif {{m}} existe dans la page
if searchResult:
pywikibot.output(u"Template found: %s" % searchResult.group())
if not protlev:
text = parser.sub('',text,1) #Retire la 1re occurrence du motif dans la page
#print text
return text
for m in motif:
parser = re.compile(r'{{' + m + r'}}(\s*?|(?={{))',re.I | re.U | re.DOTALL)
searchResult = parser.search(text) #On cherche si le motif {{m}} existe dans la page
if searchResult:
pywikibot.output(u"Template found: %s" % searchResult.group())
if not protlev:
text = parser.sub('',text,1) #Retire la 1re occurrence du motif dans la page
#print text
return text
......@@ -108,7 +108,7 @@ def main():
pagesList = getPagesList()
for page in pagesList:
pywikibot.output("Checking %s;" % page.title(asLink=True))
pywikibot.output("Checking %s;" % page.title(asLink=True))
updatePage(page)
timeEnd = time.time()
......
......@@ -29,7 +29,7 @@ nbrModif = 0
nbrTotal = 0
# Traitement des nouvelles pages
def newPages(all=False):
def newPages(allPages=False):
global nbrModif, nbrTotal
log = u''
......@@ -57,7 +57,7 @@ def newPages(all=False):
lonelyPagesList = list(pagegenerators.LonelyPagesPageGenerator(site=site))
if all:
if allPages:
pagesList = pagegenerators.AllpagesPageGenerator(namespace=0,includeredirects=False,site=site)
else:
pagesList = pagegenerators.NewpagesPageGenerator(total=50,site=site)
......@@ -89,7 +89,7 @@ def newPages(all=False):
# s'il existe des références, on retire le job 'orphelin'
#if page in lonelyPagesList: ##DESACTIVE TANT QUE LA PAGE SPECIALE NE SE MET PLUS A JOUR##
if len(set(page.backlinks(namespaces=0))) < 1:
if len(set(page.backlinks(namespaces=0))) < 1:
jobList.append(u'orphelin')
# s'il n'existe aucune catégorie (directe), on ajoute le job 'catégoriser'
......@@ -180,7 +180,7 @@ def updateJobList(oldJobList, newJobList):
# Exécution
def main():
all = False
allPages = False
try:
opts, args = getopt.getopt(sys.argv[1:], 'a', ['all'])
......@@ -189,11 +189,11 @@ def main():
for opt, arg in opts:
if opt in ('-a', '--all'):
all = True
allPages = True
log = u''
timeStart = time.time()
log += newPages(all)
log += newPages(allPages)
timeEnd = time.time()
logger.setValues(nbrTotal,nbrModif)
logger.editLog(site,log)
......
......@@ -19,17 +19,17 @@ import urllib2
import pywikibot
# Déclarations
site = pywikibot.Site('fr','wikipedia')
site = pywikibot.Site('fr', 'wikipedia')
nbrModif = 0
nbrTotal = 0
# Retourne la liste des personnes à qui envoyer la notification
def getSubscribers(group,hs):
def getSubscribers(group, hs):
pageGroup = pywikibot.Page(site,u"Utilisateur:Orikrin1998/Blog/Abonnés/"+group.title()+"s")
pageTotal = pywikibot.Page(site,u"Utilisateur:Orikrin1998/Blog/Abonnés/Wikipédia seulement")
pageGroup = pywikibot.Page(site, u"Utilisateur:Orikrin1998/Blog/Abonnés/"+group.title()+"s")
pageTotal = pywikibot.Page(site, u"Utilisateur:Orikrin1998/Blog/Abonnés/Wikipédia seulement")
pageHS = pywikibot.Page(site,u"Utilisateur:Orikrin1998/Blog/Abonnés/Tous les articles")
pageHS = pywikibot.Page(site, u"Utilisateur:Orikrin1998/Blog/Abonnés/Tous les articles")
if not hs:
subscribers = set(list(pageGroup.linkedPages(namespaces=3)) + list(pageTotal.linkedPages(namespaces=3)) + list(pageHS.linkedPages(namespaces=3)))
......@@ -55,7 +55,7 @@ def getURLTitle(url):
#Exécution
def main():
type = ''
subtype = ''
link = ''
hs = False
......@@ -71,7 +71,7 @@ def main():
if len(args) == 2:
if args[0] in ('article', 'sondage', 'interview'):
type = args[0]
subtype = args[0]
else:
print "type incorrect : attendu 'article', 'sondage' ou 'interview'"
sys.exit(2)
......@@ -86,12 +86,12 @@ def main():
print u"usage : python " + sys.argv[0] + " [--hs] type_de_billet lien"
sys.exit(2)
banner = "{{Utilisateur:Orikrin1998/Blog/Annonce|type=" + type + "|lien=" + link + "|date=~~~~~}}"
banner = "{{Utilisateur:Orikrin1998/Blog/Annonce|type=" + subtype + "|lien=" + link + "|date=~~~~~}}"
billTitle = getURLTitle(link)
if type == "interview":
billTitle = "Interview de " + billTitle
subscribers = getSubscribers(type,hs)
subscribers = getSubscribers(subtype,hs)
for sub in subscribers:
try:
......
......@@ -14,7 +14,7 @@ sys.path.insert(1, '..') #ajoute au PYTHONPATH le répertoire parent
import mylogging
import re, time
import re
from datetime import timedelta
from random import choice
......@@ -30,11 +30,11 @@ import logger
# Déclarations
globalsettings = {
'reqEditCount' : 1, #number of edits required to welcome an user
'timeoffset' : 60, #skip users newer than # minutes
'defaultSign' : '--~~~~', #default signature
'randomSign' : False, #pick a random signature instead of default
'queryLimit' : 50, #number of users loaded by the bot
'reqEditCount' : 1, #number of edits required to welcome an user
'timeoffset' : 60, #skip users newer than # minutes
'defaultSign' : '--~~~~', #default signature
'randomSign' : False, #pick a random signature instead of default
'queryLimit' : 50, #number of users loaded by the bot
}
welcomemsg = {
......@@ -60,7 +60,7 @@ class WelcomeBot:
self.site = pywikibot.Site(viki,'vikidia')
self.checkManagedSites()
if globalsettings['randomSign']:
self.signList = self.getSignList()
self.signList = self.getSignList()
self.welcomed_users = list()
# chek if "autowelcome" is enabled or not on the wiki
......@@ -76,10 +76,10 @@ class WelcomeBot:
signPageName = creg = i18n.translate(self.site, random_sign)
if not signPageName:
pywikibot.output("Random signature disabled on %s; disabling random sign" % self.site)
globalsettings['randomSign'] = False
globalsettings['randomSign'] = False
return
signPage = pywikibot.Page(self.site, signPageName)
signPage = pywikibot.Page(self.site, signPageName)
if signPage.exists():
sign = u''
......@@ -100,8 +100,8 @@ class WelcomeBot:
def run(self):
for user in self.parseNewUserLog():
#print user.name()
if user.isBlocked():
#print user.name()
if user.isBlocked():
#showStatus(3)
pywikibot.output(u" %s is blocked; skipping." % user.name())
continue
......@@ -124,14 +124,14 @@ class WelcomeBot:
else:
welcome_text = i18n.translate(self.site, welcomemsg)
if globalsettings['randomSign'] and len(self.signList) > 0:
sign = choice(self.signList)