[Pywikipedia-l] SVN: [5326] trunk/pywikipedia

nicdumz at svn.wikimedia.org nicdumz at svn.wikimedia.org
Wed May 7 22:32:36 UTC 2008


Revision: 5326
Author:   nicdumz
Date:     2008-05-07 22:32:35 +0000 (Wed, 07 May 2008)

Log Message:
-----------
Let's use Site.path() and Site.apipath() instead of all these hardcoded paths :)

Modified Paths:
--------------
    trunk/pywikipedia/checkimages.py
    trunk/pywikipedia/pageimport.py
    trunk/pywikipedia/rcsort.py
    trunk/pywikipedia/redirect.py
    trunk/pywikipedia/welcome.py

Modified: trunk/pywikipedia/checkimages.py
===================================================================
--- trunk/pywikipedia/checkimages.py	2008-05-07 21:51:23 UTC (rev 5325)
+++ trunk/pywikipedia/checkimages.py	2008-05-07 22:32:35 UTC (rev 5326)
@@ -588,7 +588,7 @@
         duplicateRegex = r'\n\*(?:\[\[:Image:%s\]\] has the following duplicates:|\*\[\[:Image:%s\]\])$' % (self.convert_to_url(self.image), self.convert_to_url(self.image))
         imagePage = wikipedia.ImagePage(self.site, 'Image:%s' % self.image)
         wikipedia.output(u'Checking if %s has duplicates...' % image)
-        get_hash = self.site.getUrl('/w/api.php?action=query&format=xml&titles=Image:%s&prop=imageinfo&iiprop=sha1' % self.convert_to_url(self.image))
+        get_hash = self.site.getUrl(self.site.apipath() + '?action=query&format=xml&titles=Image:%s&prop=imageinfo&iiprop=sha1' % self.convert_to_url(self.image))
         hash_found_list = re.findall(r'<ii sha1="(.*?)" />', get_hash)
         if hash_found_list != []:
             hash_found = hash_found_list[0]
@@ -598,7 +598,7 @@
             else:
                 wikipedia.output(u'Image deleted before getting the Hash. Skipping...')
                 return False # Error, we need to skip the page.
-        get_duplicates = self.site.getUrl('/w/api.php?action=query&format=xml&list=allimages&aisha1=%s' % hash_found)
+        get_duplicates = self.site.getUrl(self.site.apipath() + '?action=query&format=xml&list=allimages&aisha1=%s' % hash_found)
         duplicates = re.findall(r'<img name="(.*?)".*?/>', get_duplicates)
         if len(duplicates) > 1:
             if len(duplicates) == 2:

Modified: trunk/pywikipedia/pageimport.py
===================================================================
--- trunk/pywikipedia/pageimport.py	2008-05-07 21:51:23 UTC (rev 5325)
+++ trunk/pywikipedia/pageimport.py	2008-05-07 22:32:35 UTC (rev 5326)
@@ -67,7 +67,7 @@
             answer = wikipedia.inputChoice(u'Do you want to import %s?' % target, ['Yes', 'No'], ['y', 'N'], 'N')
         if answer in ['y', 'Y']:
             host = self.site().hostname()
-            address = '/w/index.php?title=%s&action=submit' % self.urlname()
+            address = self.site().path() + '?title=%s&action=submit' % self.urlname()
             # You need to be a sysop for the import.
             self.site().forceLogin(sysop = True)
             # Getting the token.

Modified: trunk/pywikipedia/rcsort.py
===================================================================
--- trunk/pywikipedia/rcsort.py	2008-05-07 21:51:23 UTC (rev 5325)
+++ trunk/pywikipedia/rcsort.py	2008-05-07 22:32:35 UTC (rev 5326)
@@ -41,7 +41,7 @@
 if not 'limit' in form:
     post += '&limit=1000'
 
-text = mysite.getUrl('/w/index.php?%s'%post)
+text = mysite.getUrl(mysite.path() + '?%s'%post)
 
 text = text.split('\n')
 rcoptions = False
@@ -62,10 +62,10 @@
             count += 1
             lines.append((user,count,line))
     elif line.find('rcoptions') > -1:
-        print line.replace("/w/index.php?title=Speciaal:RecenteWijzigingen&amp;","rcsort.py?")
+        print line.replace(mysite.path() + "?title=Speciaal:RecenteWijzigingen&amp;","rcsort.py?")
         rcoptions = True
     elif newbies and line.find('Nieuwste') > -1:
-        line =  line.replace("/w/index.php?title=Speciaal:Bijdragen&amp;","rcsort.py?").replace("target=newbies","newbies=true")
+        line =  line.replace(mysite.path() + "?title=Speciaal:Bijdragen&amp;","rcsort.py?").replace("target=newbies","newbies=true")
         if line.find('</fieldset>') > -1:
             line = line[line.find('</fieldset>')+11:]
         print line

Modified: trunk/pywikipedia/redirect.py
===================================================================
--- trunk/pywikipedia/redirect.py	2008-05-07 21:51:23 UTC (rev 5325)
+++ trunk/pywikipedia/redirect.py	2008-05-07 22:32:35 UTC (rev 5326)
@@ -250,12 +250,16 @@
                     wikipedia.output(u'\nChecking redirect %i of %i...'
                                      % (num + 1, len(redict)))
 
+    # /wiki/
+    wiki = re.escape(wikipedia.getSite().nice_get_address(''))
+    # /w/index.php
+    index = re.escape(wikipedia.getSite().path())
     move_regex = re.compile(
-        r'<li>.*?<a href="/wiki/User:.*?>.*?</a> '
-        r'\(<a href="/wiki/User_talk:.*?>Talk</a> \| '
-        r'<a href="/wiki/Special:Contributions/.*?>contribs</a>\) '
-        r'moved <a href="/w/index\.php\?title=.*?>(.*?)</a> to '
-        r'<a href="/wiki/.*?>.*?</a>.*?</li>' )
+        r'<li>.*?<a href="' + wiki + r'User:.*?>.*?</a> '
+        r'\(<a href="' + wiki + r'User_talk:.*?>Talk</a> \| '
+        r'<a href="' + wiki + r'Special:Contributions/.*?>contribs</a>\) '
+        r'moved <a href="' + index + r'?title=.*?>(.*?)</a> to '
+        r'<a href="' + index + r'.*?>.*?</a>.*?</li>' )
 
     def get_moved_pages_redirects(self):
         '''generate redirects to recently-moved pages'''
@@ -263,7 +267,7 @@
         site = wikipedia.getSite()
         while offset <= 10000: # MW won't accept offset value > 10000
             move_url = \
-                "/w/index.php?title=Special:Log&limit=500&offset=%i&type=move"\
+                site.path() + "?title=Special:Log&limit=500&offset=%i&type=move"\
                        % offset
             try:
                 move_list = site.getUrl(move_url)

Modified: trunk/pywikipedia/welcome.py
===================================================================
--- trunk/pywikipedia/welcome.py	2008-05-07 21:51:23 UTC (rev 5325)
+++ trunk/pywikipedia/welcome.py	2008-05-07 22:32:35 UTC (rev 5326)
@@ -398,7 +398,8 @@
     # and i put them in a list (i find it more easy and secure).
     while 1:
         # FIXME: That's the regex, if there are problems, take a look here.
-        reg = r'\(<a href=\"/w/index\.php\?title=%s(?P<user>.*?)&(?:amp;|)action=(?:edit|editredlink|edit&amp;redlink=1)\"' % talk
+        
+        reg = r'\(<a href=\"' + re.escape(wsite.path()) + r'\?title=%s(?P<user>.*?)&(?:amp;|)action=(?:edit|editredlink|edit&amp;redlink=1)\"' % talk
         p = re.compile(reg, re.UNICODE)
         x = p.search(raw, pos)
         if x == None:
@@ -461,7 +462,7 @@
     pathWiki = wsite.family.nicepath(wsite.lang)
     #A little function to check if the user has already been blocked (to skip him).
     reg = r"""<li>\d\d:\d\d, \d(\d)? (.*?) \d\d\d\d <a href=\"""" + pathWiki + r"""(.*?)\" title=\"(.*?)\">(.*?)</a> \(<a href=\"""" + pathWiki + r"""(.*?)\" title=\"(.*?)\">(.*?)</a>"""
-    block_text = wsite.getUrl('/w/index.php?title=Special:Log/block&page=User:' + username)
+    block_text = wsite.getUrl(wsite.path() + '?title=Special:Log/block&page=User:' + username)
     numblock = re.findall(reg, block_text)
     # If the bot doesn't find block-line (that means the user isn't blocked), it will return False otherwise True.
     if len(numblock) == 0:





More information about the Pywikipedia-l mailing list