summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/xlrd')
-rw-r--r--dev-python/xlrd/Manifest1
-rw-r--r--dev-python/xlrd/files/xlrd-0.9.3-column.patch59
-rw-r--r--dev-python/xlrd/metadata.xml11
-rw-r--r--dev-python/xlrd/xlrd-0.9.3-r1.ebuild30
-rw-r--r--dev-python/xlrd/xlrd-0.9.3.ebuild28
5 files changed, 129 insertions, 0 deletions
diff --git a/dev-python/xlrd/Manifest b/dev-python/xlrd/Manifest
new file mode 100644
index 000000000000..37dcff2333b7
--- /dev/null
+++ b/dev-python/xlrd/Manifest
@@ -0,0 +1 @@
+DIST xlrd-0.9.3.tar.gz 178490 SHA256 933a35e27da7ed7712985486b53b5cfb8dd88e076e2a0bd531373d0001d2939c SHA512 8b1480b1b0eb40435c33e6494e3f1c960d97a4e5a7f5a30d1b418485a88e4c6d2721501646eb129d9fce0bcd775aee50b866807b26da77b5c2d35d977bb247d0 WHIRLPOOL fcfb06859d79e8695d04504cf7e0a7e1eefaca856605f5ca5ae4d36073bdb67759e1edf6c0208ce726090ff63c6ad47f3daa7b783c38397be39ed5400c20c7ab
diff --git a/dev-python/xlrd/files/xlrd-0.9.3-column.patch b/dev-python/xlrd/files/xlrd-0.9.3-column.patch
new file mode 100644
index 000000000000..0a9c2749d87c
--- /dev/null
+++ b/dev-python/xlrd/files/xlrd-0.9.3-column.patch
@@ -0,0 +1,59 @@
+From 6c2c1057d2780c079218fe988d1d5243eefec159 Mon Sep 17 00:00:00 2001
+From: Konstantin Lopuhin <kostia.lopuhin@gmail.com>
+Date: Wed, 18 Jun 2014 12:43:04 +0400
+Subject: [PATCH] fix parsing of bad dimensions
+
+---
+ xlrd/xlsx.py | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+diff --git a/xlrd/xlsx.py b/xlrd/xlsx.py
+index 53fbb89..763df0c 100644
+--- a/xlrd/xlsx.py
++++ b/xlrd/xlsx.py
+@@ -73,7 +73,8 @@ def augment_keys(adict, uri):
+ _UPPERCASE_1_REL_INDEX[_x] = 0
+ del _x
+
+-def cell_name_to_rowx_colx(cell_name, letter_value=_UPPERCASE_1_REL_INDEX):
++def cell_name_to_rowx_colx(cell_name, letter_value=_UPPERCASE_1_REL_INDEX,
++ allow_no_col=False):
+ # Extract column index from cell name
+ # A<row number> => 0, Z =>25, AA => 26, XFD => 16383
+ colx = 0
+@@ -85,9 +86,18 @@ def cell_name_to_rowx_colx(cell_name, letter_value=_UPPERCASE_1_REL_INDEX):
+ if lv:
+ colx = colx * 26 + lv
+ else: # start of row number; can't be '0'
+- colx = colx - 1
+- assert 0 <= colx < X12_MAX_COLS
+- break
++ if charx == 0:
++ # there was no col marker
++ if allow_no_col:
++ colx = None
++ break
++ else:
++ raise Exception(
++ 'Missing col in cell name %r', cell_name)
++ else:
++ colx = colx - 1
++ assert 0 <= colx < X12_MAX_COLS
++ break
+ except KeyError:
+ raise Exception('Unexpected character %r in cell name %r' % (c, cell_name))
+ rowx = int(cell_name[charx:]) - 1
+@@ -562,9 +572,11 @@ def do_dimension(self, elem):
+ if ref:
+ # print >> self.logfile, "dimension: ref=%r" % ref
+ last_cell_ref = ref.split(':')[-1] # example: "Z99"
+- rowx, colx = cell_name_to_rowx_colx(last_cell_ref)
++ rowx, colx = cell_name_to_rowx_colx(
++ last_cell_ref, allow_no_col=True)
+ self.sheet._dimnrows = rowx + 1
+- self.sheet._dimncols = colx + 1
++ if colx is not None:
++ self.sheet._dimncols = colx + 1
+
+ def do_merge_cell(self, elem):
+ # The ref attribute should be a cell range like "B1:D5".
diff --git a/dev-python/xlrd/metadata.xml b/dev-python/xlrd/metadata.xml
new file mode 100644
index 000000000000..22c6fed2a1b5
--- /dev/null
+++ b/dev-python/xlrd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Extract data from new and old Excel spreadsheets on any platform. Pure
+ Python (2.1 to 2.6). Strong support for Excel dates. Unicode-aware.</longdescription>
+ <upstream>
+ <remote-id type="pypi">xlrd</remote-id>
+ <remote-id type="github">python-excel/xlrd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xlrd/xlrd-0.9.3-r1.ebuild b/dev-python/xlrd/xlrd-0.9.3-r1.ebuild
new file mode 100644
index 000000000000..1a71d0916bc6
--- /dev/null
+++ b/dev-python/xlrd/xlrd-0.9.3-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
+HOMEPAGE="http://www.python-excel.org/
+ https://github.com/python-excel/xlrd/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-aix ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+PATCHES=( "${FILESDIR}"/${P}-column.patch )
+
+python_prepare_all() {
+ # Remove this if examples get reintroduced
+ sed -i -e "s/test_names_demo/_&/" tests/test_open_workbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/xlrd/xlrd-0.9.3.ebuild b/dev-python/xlrd/xlrd-0.9.3.ebuild
new file mode 100644
index 000000000000..34a2aa012a97
--- /dev/null
+++ b/dev-python/xlrd/xlrd-0.9.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
+HOMEPAGE="http://www.python-excel.org/
+ https://github.com/python-excel/xlrd/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~ppc-aix ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+python_prepare_all() {
+ # Remove this if examples get reintroduced
+ sed -i -e "s/test_names_demo/_&/" tests/test_open_workbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Test failed with ${EPYTHON}"
+}