jenkins-bot has submitted this change and it was merged.
Change subject: [IMPROV] Use 'io' package also in Python 2.6
......................................................................
[IMPROV] Use 'io' package also in Python 2.6
This also fixes a problem with flickrripper in Python 3, because it
stored the binary image data into a StringIO and not BytesIO object.
Change-Id: I79703aa4d3a3d1df5cea546cb18152305c3b0cd4
---
M pywikibot/compat/query.py
M pywikibot/version.py
M scripts/flickrripper.py
M scripts/reflinks.py
M scripts/script_wui.py
5 files changed, 11 insertions(+), 23 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/compat/query.py b/pywikibot/compat/query.py
index bd9aa77..fe02c99 100644
--- a/pywikibot/compat/query.py
+++ b/pywikibot/compat/query.py
@@ -15,11 +15,7 @@
from pywikibot.data import api
from pywikibot.tools import deprecated, deprecate_arg
-import sys
-if sys.version_info[0] > 2:
- import io as StringIO
-else:
- import StringIO
+import io
@deprecated("pywikibot.data.api.Request")
@@ -36,7 +32,7 @@
if back_response:
pywikibot.warning(u"back_response is no longer supported; an empty "
u"response object will be returned")
- res_dummy = StringIO.StringIO()
+ res_dummy = io.StringIO()
res_dummy.__dict__.update({u'code': 0, u'msg': u''})
return res_dummy, result
return result
diff --git a/pywikibot/version.py b/pywikibot/version.py
index c8cb36c..c3042e6 100644
--- a/pywikibot/version.py
+++ b/pywikibot/version.py
@@ -14,7 +14,6 @@
import time
import datetime
import subprocess
-import sys
import pywikibot.config2 as config
@@ -143,10 +142,7 @@
@return: the git hash
@rtype: str
"""
- if sys.version_info[0] > 2:
- from io import StringIO
- else:
- from StringIO import StringIO
+ from io import StringIO
import xml.dom.minidom
from pywikibot.comms import http
diff --git a/scripts/flickrripper.py b/scripts/flickrripper.py
index d5550d2..46d3475 100644
--- a/scripts/flickrripper.py
+++ b/scripts/flickrripper.py
@@ -37,6 +37,8 @@
import base64
import time
import sys
+import io
+
import pywikibot
from pywikibot import config, textlib
import upload
@@ -52,14 +54,12 @@
if sys.version_info[0] > 2:
from urllib.parse import urlencode
from urllib.request import urlopen
- import io as StringIO
from tkinter import (
Tk, Label, Entry, Scrollbar, Text, Button,
END, VERTICAL, NORMAL, WORD
)
else:
from urllib import urlencode, urlopen
- import StringIO
from Tkinter import (
Tk, Label, Entry, Scrollbar, Text, Button,
END, VERTICAL, NORMAL, WORD
@@ -122,13 +122,13 @@
def downloadPhoto(photoUrl=''):
"""
- Download the photo and store it in a StrinIO.StringIO object.
+ Download the photo and store it in a io.BytesIO object.
TODO: Add exception handling
"""
imageFile = urlopen(photoUrl).read()
- return StringIO.StringIO(imageFile)
+ return io.BytesIO(imageFile)
def findDuplicateImages(photo=None,
@@ -378,7 +378,7 @@
self.descriptionScrollbar.grid(row=14, column=5)
def getImage(self, photo, width, height):
- """Take the StringIO object and build an imageTK
thumbnail."""
+ """Take the BytesIO object and build an imageTK
thumbnail."""
image = Image.open(photo)
image.thumbnail((width, height))
imageTk = ImageTk.PhotoImage(image)
diff --git a/scripts/reflinks.py b/scripts/reflinks.py
index 03664d0..477b668 100644
--- a/scripts/reflinks.py
+++ b/scripts/reflinks.py
@@ -50,6 +50,7 @@
import os
import gzip
import sys
+import io
import pywikibot
from pywikibot import i18n, pagegenerators, textlib, xmlreader, Bot
@@ -61,11 +62,9 @@
from urllib.request import urlopen
from urllib.error import HTTPError, URLError
import http.client as httplib
- import io as StringIO
else:
from urllib2 import quote, urlopen, HTTPError, URLError
import httplib
- import StringIO
docuReplacements = {
'¶ms;': pagegenerators.parameterHelp
@@ -592,7 +591,7 @@
# through f.read(). It might fetch big files/pages.
# However, truncating an encoded gzipped stream is not
# an option, for unzipping will fail.
- compressed = StringIO.StringIO(f.read())
+ compressed = io.StringIO(f.read())
f = gzip.GzipFile(fileobj=compressed)
# Read the first 1,000,000 bytes (0.95 MB)
diff --git a/scripts/script_wui.py b/scripts/script_wui.py
index 1e2ef0c..9d0aab2 100755
--- a/scripts/script_wui.py
+++ b/scripts/script_wui.py
@@ -207,10 +207,7 @@
def main_script(page, rev=None, params=None):
#
http://opensourcehacker.com/2011/02/23/temporarily-capturing-python-logging…
#
https://docs.python.org/release/2.6/library/logging.html
- if sys.version_info[0] > 2:
- from io import StringIO
- else:
- from StringIO import StringIO
+ from io import StringIO
import logging
# safety; default mode is safe (no writing)
--
To view, visit
https://gerrit.wikimedia.org/r/161122
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I79703aa4d3a3d1df5cea546cb18152305c3b0cd4
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: jenkins-bot <>