From 8aeb5e5158e26125a3e5a5ebb09ebc94493c6c4f Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Thu, 3 Oct 2019 21:07:49 +0200 Subject: [PATCH] io.BytesIO is also available in Python 2.7 --- tablib/compat.py | 2 -- tablib/formats/_df.py | 8 +------- tablib/formats/_html.py | 14 +++++--------- tablib/formats/_ods.py | 3 ++- tablib/formats/_xls.py | 3 ++- tablib/formats/_xlsx.py | 7 +------ 6 files changed, 11 insertions(+), 26 deletions(-) diff --git a/tablib/compat.py b/tablib/compat.py index 0d49492..1582173 100644 --- a/tablib/compat.py +++ b/tablib/compat.py @@ -14,7 +14,6 @@ is_py3 = (sys.version_info[0] > 2) if is_py3: - from io import BytesIO from io import StringIO from statistics import median from itertools import zip_longest as izip_longest @@ -25,7 +24,6 @@ if is_py3: xrange = range else: - from cStringIO import StringIO as BytesIO from StringIO import StringIO from tablib.packages.statistics import median from itertools import izip_longest diff --git a/tablib/formats/_df.py b/tablib/formats/_df.py index 44b967f..0c7ebec 100644 --- a/tablib/formats/_df.py +++ b/tablib/formats/_df.py @@ -1,14 +1,8 @@ """ Tablib - DataFrame Support. """ - import sys - - -if sys.version_info[0] > 2: - from io import BytesIO -else: - from cStringIO import StringIO as BytesIO +from io import BytesIO try: from pandas import DataFrame diff --git a/tablib/formats/_html.py b/tablib/formats/_html.py index 33f3290..ac72bd6 100644 --- a/tablib/formats/_html.py +++ b/tablib/formats/_html.py @@ -3,14 +3,10 @@ """ Tablib - HTML export support. """ -import sys - -if sys.version_info[0] > 2: - from io import BytesIO as StringIO -else: - from cStringIO import StringIO - import codecs +import sys +from io import BytesIO + from MarkupPy import markup import tablib from tablib.compat import unicode @@ -24,7 +20,7 @@ extensions = ('html', ) def export_set(dataset): """HTML representation of a Dataset.""" - stream = StringIO() + stream = BytesIO() page = markup.page() page.table.open() @@ -55,7 +51,7 @@ def export_set(dataset): def export_book(databook): """HTML representation of a Databook.""" - stream = StringIO() + stream = BytesIO() # Allow unicode characters in output wrapper = codecs.getwriter("utf8")(stream) diff --git a/tablib/formats/_ods.py b/tablib/formats/_ods.py index 30aea37..5b900b5 100644 --- a/tablib/formats/_ods.py +++ b/tablib/formats/_ods.py @@ -3,8 +3,9 @@ """ Tablib - ODF Support. """ +from io import BytesIO from odf import opendocument, style, table, text -from tablib.compat import BytesIO, unicode +from tablib.compat import unicode title = 'ods' extensions = ('ods',) diff --git a/tablib/formats/_xls.py b/tablib/formats/_xls.py index d4d89ae..baa7904 100644 --- a/tablib/formats/_xls.py +++ b/tablib/formats/_xls.py @@ -4,8 +4,9 @@ """ import sys +from io import BytesIO -from tablib.compat import BytesIO, xrange +from tablib.compat import xrange import tablib import xlrd import xlwt diff --git a/tablib/formats/_xlsx.py b/tablib/formats/_xlsx.py index 0099e5e..a2d46ce 100644 --- a/tablib/formats/_xlsx.py +++ b/tablib/formats/_xlsx.py @@ -4,12 +4,7 @@ """ import sys - - -if sys.version_info[0] > 2: - from io import BytesIO -else: - from cStringIO import StringIO as BytesIO +from io import BytesIO import openpyxl import tablib