diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-python/xlrd/files/xlrd-0.9.3-column.patch |
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-python/xlrd/files/xlrd-0.9.3-column.patch')
-rw-r--r-- | dev-python/xlrd/files/xlrd-0.9.3-column.patch | 59 |
1 files changed, 59 insertions, 0 deletions
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".
|