mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-04-29 16:37:30 -07:00
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
60 lines
2.4 KiB
Diff
60 lines
2.4 KiB
Diff
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".
|