Revision: 6381
Author:   purodha
Date:     2009-02-20 03:20:07 +0000 (Fri, 20 Feb 2009)

Log Message:
-----------
(Bug 1877143) Added possibility for adding a replacement at "namespace 
mismatch" message.

Modified Paths:
--------------
    trunk/pywikipedia/interwiki.py

Modified: trunk/pywikipedia/interwiki.py
===================================================================
--- trunk/pywikipedia/interwiki.py      2009-02-20 02:37:42 UTC (rev 6380)
+++ trunk/pywikipedia/interwiki.py      2009-02-20 03:20:07 UTC (rev 6381)
@@ -691,12 +691,19 @@
                     wikipedia.output(u"NOTE: Ignoring link from page %s in 
namespace %i to page %s in namespace %i because page %s in the correct 
namespace has already been found." % (self.originPage.aslink(True), 
self.originPage.namespace(), linkedPage.aslink(True), linkedPage.namespace(), 
preferredPage.aslink(True)))
                     return True
                 else:
-                    choice = wikipedia.inputChoice('WARNING: %s is in 
namespace %i, but %s is in namespace %i. Follow it anyway?' % 
(self.originPage.aslink(True), self.originPage.namespace(), 
linkedPage.aslink(True), linkedPage.namespace()), ['Yes', 'No', 'give up'], 
['y', 'n', 'g'])
+                    choice = wikipedia.inputChoice('WARNING: %s is in 
namespace %i, but %s is in namespace %i. Follow it anyway?' % 
(self.originPage.aslink(True), self.originPage.namespace(), 
linkedPage.aslink(True), linkedPage.namespace()), ['Yes', 'No', 'Add an 
alternative', 'give up'], ['y', 'n', 'a', 'g'])
                     if choice != 'y':
                         # Fill up foundIn, so that we will not ask again
                         self.foundIn[linkedPage] = [linkingPage]
                         if choice == 'g':
                             self.makeForcedStop(counter)
+                        elif choice == 'a':
+                            newHint = wikipedia.input(u'Give the alternative 
for language %s, not using a language code:' % linkedPage.site().language())
+                            if newHint:
+                                alternativePage = 
wikipedia.Page(linkedPage.site(), newHint)
+                                if alternativePage:
+                                    # add the page that was entered by the user
+                                    self.addIfNew(alternativePage, counter, 
None)
                         else:
                             wikipedia.output(u"NOTE: ignoring %s and its 
interwiki links" % linkedPage.aslink(True))
                         return True
@@ -1384,7 +1391,6 @@
             # Keep correct counters
             self.plus(site)
 
-#    def setPageGenerator(self, pageGenerator, number = None):
     def setPageGenerator(self, pageGenerator, number = None, until = None):
         """Add a generator of subjects. Once the list of subjects gets
            too small, this generator is called to produce more Pages"""



_______________________________________________
Pywikipedia-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l

Reply via email to