XZise has submitted this change and it was merged.
Change subject: py3 imports and types
......................................................................
py3 imports and types
- winreg import
- urlencode import
- use bytes() before decoding
- use b'' before doing string operations like startswith
Change-Id: I2f8c2fb06115c735a499d24dd333e3854a4d6cc2
---
M pywikibot/__init__.py
M pywikibot/config2.py
M pywikibot/pagegenerators.py
M pywikibot/site.py
M pywikibot/userinterfaces/win32_unicode.py
M pywikibot/weblib.py
M tests/page_tests.py
M tests/site_tests.py
8 files changed, 31 insertions(+), 7 deletions(-)
Approvals:
John Vandenberg: Looks good to me, but someone else must approve
XZise: Looks good to me, approved
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index add9a33..0228e79 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -21,6 +21,7 @@
from Queue import Queue
else:
from queue import Queue
+ long = int
# Use pywikibot. prefix for all in-package imports; this is to prevent
# confusion with similarly-named modules in version 1 framework, for users
diff --git a/pywikibot/config2.py b/pywikibot/config2.py
index 0fe5f38..4da09e9 100644
--- a/pywikibot/config2.py
+++ b/pywikibot/config2.py
@@ -303,7 +303,10 @@
# On Windows systems, this script tries to determine the default text editor.
if sys.platform == 'win32':
try:
- import _winreg
+ if sys.version_info[0] > 2:
+ import winreg as _winreg
+ else:
+ import _winreg
_key1 = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,
'Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithProgids')
_progID = _winreg.EnumValue(_key1, 1)[0]
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index a46e27c..484eadf 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -19,6 +19,7 @@
__version__ = '$Id$'
#
+import sys
import codecs
import itertools
import re
@@ -28,6 +29,10 @@
from pywikibot.comms import http
import pywikibot.data.wikidataquery as wdquery
+if sys.version_info[0] > 2:
+ basestring = (str, )
+ unicode = str
+
# ported from version 1 for backwards-compatibility
# most of these functions just wrap a Site or Page method that returns
# a generator
diff --git a/pywikibot/site.py b/pywikibot/site.py
index e5da073..cfbd128 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -46,6 +46,7 @@
if sys.version_info[0] > 2:
basestring = (str,)
+ unicode = str
_logger = "wiki.site"
diff --git a/pywikibot/userinterfaces/win32_unicode.py
b/pywikibot/userinterfaces/win32_unicode.py
index a7bcfc4..ae9048d 100755
--- a/pywikibot/userinterfaces/win32_unicode.py
+++ b/pywikibot/userinterfaces/win32_unicode.py
@@ -25,6 +25,10 @@
stdout = sys.stdout
stderr = sys.stderr
argv = sys.argv
+
+if sys.version_info[0] > 2:
+ unicode = str
+
if sys.platform == "win32":
import codecs
from ctypes import WINFUNCTYPE, windll, POINTER
@@ -178,7 +182,7 @@
self._stream.write(text)
else:
if not isinstance(text, unicode):
- text = str(text).decode('utf-8')
+ text = bytes(text).decode('utf-8')
remaining = len(text)
while remaining > 0:
n = DWORD(0)
@@ -246,7 +250,7 @@
# Also skip option arguments to the Python interpreter.
while len(argv) > 0:
arg = argv[0]
- if not arg.startswith(u"-") or arg == u"-":
+ if not arg.startswith(b"-") or arg == u"-":
break
argv = argv[1:]
if arg == u'-m':
diff --git a/pywikibot/weblib.py b/pywikibot/weblib.py
index 017965a..83f6a68 100644
--- a/pywikibot/weblib.py
+++ b/pywikibot/weblib.py
@@ -11,7 +11,12 @@
#
__version__ = '$Id$'
-import urllib
+import sys
+if sys.version_info[0] == 2:
+ from urllib import urlencode
+else:
+ from urllib.parse import urlencode
+
from pywikibot.comms import http
@@ -34,7 +39,7 @@
if timestamp is not None:
query['timestamp'] = timestamp
- uri = uri + urllib.urlencode(query)
+ uri = uri + urlencode(query)
jsontext = http.request(uri=uri, site=None)
if "closest" in jsontext:
data = json.loads(jsontext)
@@ -63,7 +68,7 @@
if timestamp is not None:
query['date'] = timestamp
- uri = uri + urllib.urlencode(query)
+ uri = uri + urlencode(query)
xmltext = http.request(uri=uri, site=None)
if "success" in xmltext:
data = ET.fromstring(xmltext)
diff --git a/tests/page_tests.py b/tests/page_tests.py
index d8590c9..772ddce 100644
--- a/tests/page_tests.py
+++ b/tests/page_tests.py
@@ -7,12 +7,16 @@
#
__version__ = '$Id$'
-
+import sys
import pywikibot
import pywikibot.page
from tests.utils import PywikibotTestCase, unittest
+if sys.version_info[0] > 2:
+ basestring = (str, )
+ unicode = str
+
site = pywikibot.Site('en', 'wikipedia')
mainpage = pywikibot.Page(pywikibot.page.Link("Main Page", site))
maintalk = pywikibot.Page(pywikibot.page.Link("Talk:Main Page", site))
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 96079a5..125b6aa 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -20,6 +20,7 @@
if sys.version_info[0] > 2:
basestring = (str, )
+ unicode = str
mysite = None
mainpage = None
--
To view, visit https://gerrit.wikimedia.org/r/158336
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2f8c2fb06115c735a499d24dd333e3854a4d6cc2
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <[email protected]>
Gerrit-Reviewer: John Vandenberg <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: XZise <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits