http://www.mediawiki.org/wiki/Special:Code/pywikipedia/11507
Revision: 11507
Author: xqt
Date: 2013-05-05 18:32:52 +0000 (Sun, 05 May 2013)
Log Message:
-----------
tagged templates may be a template's subpage, recognize it;
change return statements to the default one
Modified Paths:
--------------
trunk/pywikipedia/checkimages.py
Modified: trunk/pywikipedia/checkimages.py
===================================================================
--- trunk/pywikipedia/checkimages.py 2013-05-05 11:34:24 UTC (rev 11506)
+++ trunk/pywikipedia/checkimages.py 2013-05-05 18:32:52 UTC (rev 11507)
@@ -133,7 +133,7 @@
# Text that the bot will try to see if there's already or not. If there's a
# {{ I'll use a regex to make a better check.
# This will work so:
-# '{{no license' --> '\{\{(?:template:|)no[ _]license ?(?:\||\n|\}) ?' (case
+# '{{no license' --> '\{\{(?:template:)?no[ _]license ?(?:\||\n|\}|/) ?' (case
# insensitive).
# If there's not a {{ it will work as usual (if x in Text)
txt_find = {
@@ -703,15 +703,19 @@
reportPageText = reportPageObject.get()
except pywikibot.NoPage:
pywikibot.output(u'%s has been deleted...' % self.imageName)
- return False
+ return
# You can use this function also to find only the user that
# has upload the image (FixME: Rewrite a bit this part)
if put:
pywikibot.showDiff(reportPageText,
self.newtext + "\n" + reportPageText)
pywikibot.output(self.commImage)
- reportPageObject.put(self.newtext + "\n" + reportPageText,
- comment=self.commImage)
+ try:
+ reportPageObject.put(self.newtext + "\n" + reportPageText,
+ comment=self.commImage)
+ except pywikibot.LockedPage:
+ pywikibot.output(u'File is locked. Skipping.')
+ return
# paginetta it's the image page object.
try:
if reportPageObject == self.image and self.uploader:
@@ -725,7 +729,7 @@
repme = u"\n*[[:File:%s]] problems '''with the APIs'''"
self.report_image(self.image_to_report, self.rep_page, self.com,
repme)
- return False
+ return
upBots = pywikibot.translate(self.site, uploadBots, fallback=False)
luser = pywikibot.url2link(nick, self.site, self.site)
@@ -938,7 +942,7 @@
% re.escape(self.imageName)
hash_found = self.image.getHash()
if not hash_found:
- return False # Image deleted, no hash found. Skip the image.
+ return # Image deleted, no hash found. Skip the image.
commons_image_with_this_hash = commons_site.getFilesFromAnHash(hash_found)
if commons_image_with_this_hash and \
@@ -963,7 +967,7 @@
# We have to skip the check part for that image because
# it's on commons but someone has added something on your
# project.
- return False
+ return
if re.findall(r'\bstemma\b', self.imageName.lower()) and \
self.site.lang == 'it':
pywikibot.output(
@@ -1005,7 +1009,7 @@
duplicates = self.site.getFilesFromAnHash(hash_found)
if not duplicates:
- return False # Error, image deleted, no hash found. Skip the image.
+ return # Error, image deleted, no hash found. Skip the image.
if len(duplicates) > 1:
if len(duplicates) == 2:
@@ -1061,7 +1065,7 @@
pywikibot.output(
u"Already put the dupe-template in the files's page"
u" or in the dupe's page. Skip.")
- return False # Ok - Let's continue the checking phase
+ return # Ok - Let's continue the checking phase
older_image_ns = u'%s%s' % (self.image_namespace, older_image)
only_report = False # true if the image are not to be tagged as dupes
@@ -1137,7 +1141,7 @@
return True # If Errors, exit (but continue the check)
if older_image != self.imageName:
- return False # The image is a duplicate, it will be deleted. So skip the check-part, useless
+ return # The image is a duplicate, it will be deleted. So skip the check-part, useless
return True # Ok - No problem. Let's continue the checking phase
def report_image(self, image_to_report, rep_page=None, com=None,
@@ -1320,10 +1324,9 @@
try:
self.allLicenses.remove(template)
except ValueError:
- return False
+ return
else:
self.whiteTemplatesFound = True
- return False
def templateInList(self):
"""
@@ -1481,7 +1484,7 @@
# same number
if skip_number == 0:
pywikibot.output(u'\t\t>> No files to skip...<<')
- return False
+ return
if skip_number > limit:
skip_number = limit
# Print a starting message only if no images has been skipped
@@ -1500,7 +1503,6 @@
return True
else:
pywikibot.output('')
- return False
def wait(self, waitTime, generator, normal, limit):
""" Skip the images uploaded before x seconds to let
@@ -1577,7 +1579,7 @@
# If there are {{ use regex, otherwise no (if there's not the
# {{ may not be a template and the regex will be wrong)
if '{{' in i:
- regexP = re.compile(r'\{\{(?:template|)%s ?(?:\||\n|\}|<) ?'
+ regexP = re.compile(r'\{\{(?:template)?%s ?(?:\||\r?\n|\}|<|/) ?'
% i.split('{{')[1].replace(u' ', u'[ _]'),
re.I)
result = regexP.findall(self.imageCheckText)
@@ -1585,7 +1587,6 @@
return True
elif i.lower() in self.imageCheckText:
return True
- return False
def findAdditionalProblems(self):
# In every tuple there's a setting configuration