addressing #9: by default skipping hidden sheets. unit test pending

This commit is contained in:
chfw 2016-06-03 09:28:46 +01:00
parent e479167c77
commit 3d4aebe539
2 changed files with 18 additions and 1 deletions

View File

@ -1,6 +1,15 @@
Change log Change log
================================================================================ ================================================================================
0.2.1 - unreleased
--------------------------------------------------------------------------------
Added
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#. `skip_hidden_sheets` is added. By default, hidden sheets are skipped when reading all sheets. Reading sheet by name or by index are not affected.
0.2.0 - 01.06.2016 0.2.0 - 01.06.2016
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -125,13 +125,16 @@ class XLSBook(BookReader):
def open(self, file_name, **keywords): def open(self, file_name, **keywords):
BookReader.open(self, file_name, **keywords) BookReader.open(self, file_name, **keywords)
self._get_params()
def open_stream(self, file_stream, **keywords): def open_stream(self, file_stream, **keywords):
BookReader.open_stream(self, file_stream, **keywords) BookReader.open_stream(self, file_stream, **keywords)
self._get_params()
def open_content(self, file_content, **keywords): def open_content(self, file_content, **keywords):
self.keywords = keywords self.keywords = keywords
self.file_content = file_content self.file_content = file_content
self._get_params()
def close(self): def close(self):
if self.native_book: if self.native_book:
@ -154,6 +157,8 @@ class XLSBook(BookReader):
result = OrderedDict() result = OrderedDict()
self.native_book = self._get_book() self.native_book = self._get_book()
for sheet in self.native_book.sheets(): for sheet in self.native_book.sheets():
if self.skip_hidden_sheets and sheet.visibility != 0:
continue
data_dict = self.read_sheet(sheet) data_dict = self.read_sheet(sheet)
result.update(data_dict) result.update(data_dict)
return result return result
@ -179,6 +184,9 @@ class XLSBook(BookReader):
) )
return xls_book return xls_book
def _get_params(self):
self.skip_hidden_sheets = self.keywords.get('skip_hidden_sheets', True)
class XLSheetWriter(SheetWriter): class XLSheetWriter(SheetWriter):
""" """