http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9161
Revision: 9161
Author: a_engels
Date: 2011-04-12 05:42:26 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Do go on working on pages when there is no interwiki: this might mean that there are interwikis to be removed.
Modified Paths:
--------------
trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py
===================================================================
--- trunk/pywikipedia/interwiki.py 2011-04-12 05:18:16 UTC (rev 9160)
+++ trunk/pywikipedia/interwiki.py 2011-04-12 05:42:26 UTC (rev 9161)
@@ -1748,8 +1748,6 @@
if new is None: # User said give up
pywikibot.output(u"======Aborted processing %s======" % self.originPage.aslink(True))
return
- if not len(new): # nothing else to do
- return
# Make sure new contains every page link, including the page we are processing
# TODO: sould be move to assemble()
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9160
Revision: 9160
Author: xqt
Date: 2011-04-12 05:18:16 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
pre 1.14 compatibility for magicwords
Modified Paths:
--------------
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2011-04-12 04:59:12 UTC (rev 9159)
+++ trunk/pywikipedia/wikipedia.py 2011-04-12 05:18:16 UTC (rev 9160)
@@ -1113,7 +1113,7 @@
"""
found = False
- if self.isRedirectPage():
+ if self.isRedirectPage() and self.versionnumber() > 13:
staticKeys = self.site().getmagicwords('staticredirect')
text = self.get(get_redirect=True, force=force)
if staticKeys:
@@ -2528,7 +2528,8 @@
if name.startswith('#'):
continue
# {{DEFAULTSORT:...}}
- defaultKeys = self.site().getmagicwords('defaultsort')
+ defaultKeys = self.versionnumber() > 13 and \
+ self.site().getmagicwords('defaultsort')
# It seems some wikis does not have this magic key
if defaultKeys:
found = False
@@ -5804,6 +5805,8 @@
self._info = data
else:
if key == 'magicwords':
+ if self.versionnumber() <= 13:
+ return None #Not implemented
self._info[key]={}
for entry in data[key]:
self._info[key][entry['name']] = entry['aliases']
@@ -6980,16 +6983,19 @@
def getmagicwords(self, word):
"""Return list of localized "word" magic words for the site."""
+ if self.versionnumber() <= 13:
+ raise NotImplementedError
return self.siteinfo('magicwords').get(word)
def redirect(self, default=False):
"""Return the localized redirect tag for the site.
- Argument is ignored (but maintained for backwards-compatibility).
-
"""
# return the magic word without the preceding '#' character
- return self.getmagicwords('redirect')[0].lstrip("#")
+ if default or self.versionnumber() <= 13:
+ return u'REDIRECT'
+ else:
+ return self.getmagicwords('redirect')[0].lstrip("#")
def redirectRegex(self):
"""Return a compiled regular expression matching on redirect pages.
@@ -6999,7 +7005,7 @@
"""
#NOTE: this is needed, since the API can give false positives!
default = 'REDIRECT'
- keywords = self.getmagicwords('redirect')
+ keywords = self.versionnumber() > 13 and self.getmagicwords('redirect')
if keywords:
pattern = r'(?:' + '|'.join(keywords) + ')'
else:
@@ -7019,11 +7025,13 @@
def pagenamecodes(self, default=True):
"""Return list of localized PAGENAME tags for the site."""
- return self.getmagicwords('pagename')
+ return self.versionnumber() > 13 and self.getmagicwords('pagename') \
+ or u'PAGENAME'
def pagename2codes(self, default=True):
"""Return list of localized PAGENAMEE tags for the site."""
- return self.getmagicwords('pagenamee')
+ return self.versionnumber() > 13 and self.getmagicwords('pagenamee') \
+ or u'PAGENAMEE'
def resolvemagicwords(self, wikitext):
"""Replace the {{ns:xx}} marks in a wikitext with the namespace names"""
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9159
Revision: 9159
Author: xqt
Date: 2011-04-12 04:59:12 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
untabify r9037, remove trailing whitespace
Modified Paths:
--------------
trunk/pywikipedia/wikipedia.py
Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py 2011-04-11 22:07:54 UTC (rev 9158)
+++ trunk/pywikipedia/wikipedia.py 2011-04-12 04:59:12 UTC (rev 9159)
@@ -1692,18 +1692,18 @@
elif self.site().has_api() and self.namespace() in [2,3] \
and (self.title().endswith('.css') or \
self.title().endswith('.js')):
- titleparts = self.title().split("/")
- userpageowner = titleparts[0].split(":")[1]
- if userpageowner != username:
- # API enable: if title ends with .css or .js in ns2,3
- # it needs permission to edit user pages
- if self.title().endswith('css'):
- permission = 'editusercss'
- else:
- permission = 'edituserjs'
- sysop = self._getActionUser(action=permission,
- restriction=self.editRestriction,
- sysop=True)
+ titleparts = self.title().split("/")
+ userpageowner = titleparts[0].split(":")[1]
+ if userpageowner != username:
+ # API enable: if title ends with .css or .js in ns2,3
+ # it needs permission to edit user pages
+ if self.title().endswith('css'):
+ permission = 'editusercss'
+ else:
+ permission = 'edituserjs'
+ sysop = self._getActionUser(action=permission,
+ restriction=self.editRestriction,
+ sysop=True)
# If there is an unchecked edit restriction, we need to load the page
if self._editrestriction:
@@ -4975,10 +4975,10 @@
else:
self._load(sysop = sysop)
index = self._userIndex(sysop)
- # Handle obsolete editusercssjs permission
- if right in ['editusercss', 'edituserjs'] \
- and right not in self._rights[index]:
- return 'editusercssjs' in self._rights[index]
+ # Handle obsolete editusercssjs permission
+ if right in ['editusercss', 'edituserjs'] \
+ and right not in self._rights[index]:
+ return 'editusercssjs' in self._rights[index]
return right in self._rights[index]
def server_time(self):
@@ -6371,7 +6371,7 @@
"""
Yield recent changes as Page objects
uses API call: action=query&list=recentchanges&rctype=edit|new&rclimit=500
-
+
Starts with the newest change and fetches the number of changes
specified in the first argument. If repeat is True, it fetches
again.
@@ -7532,7 +7532,7 @@
raise ServerError("The APIs don't return data, the site may be down")
self._patrolToken[index] = rcData[0]['patroltoken']
-
+
return self._patrolToken[index]
def getFilesFromAnHash(self, hash_found = None):
http://www.mediawiki.org/wiki/Special:Code/pywikipedia/9154
Revision: 9154
Author: a_engels
Date: 2011-04-09 22:38:05 +0000 (Sat, 09 Apr 2011)
Log Message:
-----------
bugfix
Modified Paths:
--------------
trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py
===================================================================
--- trunk/pywikipedia/interwiki.py 2011-04-09 06:29:19 UTC (rev 9153)
+++ trunk/pywikipedia/interwiki.py 2011-04-09 22:38:05 UTC (rev 9154)
@@ -1154,7 +1154,7 @@
"""
if self.forcedStop:
return False
- if globalvar.nobackonly and originPage: # cannot check backlink before we have an origin page
+ if globalvar.nobackonly and self.originPage: # cannot check backlink before we have an origin page
if page == self.originPage:
try:
pywikibot.output(u"%s has a backlink from %s."