Revision: 6415
Author:   russblau
Date:     2009-02-22 20:15:45 +0000 (Sun, 22 Feb 2009)

Log Message:
-----------
fix one of a zillion Windows quirks

Modified Paths:
--------------
    branches/rewrite/pywikibot/bot.py
    branches/rewrite/pywikibot/pagegenerators.py

Modified: branches/rewrite/pywikibot/bot.py
===================================================================
--- branches/rewrite/pywikibot/bot.py   2009-02-22 18:12:08 UTC (rev 6414)
+++ branches/rewrite/pywikibot/bot.py   2009-02-22 20:15:45 UTC (rev 6415)
@@ -291,9 +291,9 @@
 
 def _decodeArg(arg):
     if sys.platform=='win32':
-        if config.console_encoding == 'cp850':
+        if config.console_encoding in ("cp437", 'cp850'):
             # Western Windows versions give parameters encoded as windows-1252
-            # even though the console encoding is cp850.
+            # even though the console encoding is cp850 or cp437.
             return unicode(arg, 'windows-1252')
         elif config.console_encoding == 'cp852':
             # Central/Eastern European Windows versions give parameters encoded

Modified: branches/rewrite/pywikibot/pagegenerators.py
===================================================================
--- branches/rewrite/pywikibot/pagegenerators.py        2009-02-22 18:12:08 UTC 
(rev 6414)
+++ branches/rewrite/pywikibot/pagegenerators.py        2009-02-22 20:15:45 UTC 
(rev 6415)
@@ -605,10 +605,10 @@
 
 def DuplicateFilterPageGenerator(generator):
     """Yield all unique pages from another generator, omitting duplicates."""
-    seenPages = {}
+    seenPages = set([])
     for page in generator:
         if page not in seenPages:
-            seenPages[page] = None
+            seenPages.add(page)
             yield page
 
 
@@ -946,11 +946,11 @@
             yield pywikibot.Page(pywikibot.Link(fd(month, day), site))
 
 
-if __name__ == "__main__":
+def main(*args):
     try:
         gen = None
         genFactory = GeneratorFactory()
-        for arg in pywikibot.handleArgs():
+        for arg in pywikibot.handleArgs(*args):
             genFactory.handleArg(arg)
         gen = genFactory.getCombinedGenerator()
         if gen:
@@ -958,5 +958,11 @@
                 pywikibot.output(page.title(), toStdout = True)
         else:
             pywikibot.showHelp()
+    except Exception:
+        pywikibot.logging.exception("")
     finally:
         pywikibot.stopme()
+
+
+if __name__=="__main__":
+    main()



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

Reply via email to