jenkins-bot has submitted this change and it was merged.
Change subject: Bug 58053 - py3k-ify pwb.py, check py version ......................................................................
Bug 58053 - py3k-ify pwb.py, check py version
- Use builtins instead of __builtin__ - Check for PY3 environment variable before complaining - check for the right py version including py3k
Change-Id: If9090c10cf00154b275053fc2aa60f33ba85181b --- M pwb.py 1 file changed, 21 insertions(+), 6 deletions(-)
Approvals: Xqt: Looks good to me, but someone else must approve Merlijn van Deen: Looks good to me, approved jenkins-bot: Verified
diff --git a/pwb.py b/pwb.py index ae9190a..86c9b9e 100644 --- a/pwb.py +++ b/pwb.py @@ -48,7 +48,10 @@ main_mod = imp.new_module('__main__') sys.modules['__main__'] = main_mod main_mod.__file__ = filename - main_mod.__builtins__ = sys.modules['__builtin__'] + if sys.version_info[0] == 2: + main_mod.__builtins__ = sys.modules['__builtin__'] + else: + main_mod.builtins = sys.modules['builtins']
# Set sys.argv and the first path element properly. old_argv = sys.argv @@ -73,11 +76,23 @@
#### end of snippet
-if sys.version_info[0] != 2: - raise RuntimeError("ERROR: Pywikipediabot only runs under Python 2") -if sys.version_info[1] < 6: - raise RuntimeError("ERROR: Pywikipediabot only runs under Python 2.6 " - "or higher") +if not os.environ.get("PY3", False): + if sys.version_info[0] != 2: + raise RuntimeError("ERROR: Pywikibot only runs under Python 2") + if sys.version_info[1] < 6: + raise RuntimeError("ERROR: Pywikibot only runs under Python 2.6 " + "or higher") +else: + if sys.version_info[0] not in (2, 3): + raise RuntimeError("ERROR: Pywikipediabot only runs under Python 2 " + "or Python 3") + version = tuple(sys.version_info)[:3] + if version < (2, 6): + raise RuntimeError("ERROR: Pywikibot only runs under Python 2.6 " + "or higher") + if version >= (3, ) and version < (3, 3): + raise RuntimeError("ERROR: Pywikibot only runs under Python 3.3 " + "or higher")
rewrite_path = os.path.dirname(sys.argv[0]) if not os.path.isabs(rewrite_path):
pywikibot-commits@lists.wikimedia.org