init
This commit is contained in:
31
venv/lib/python3.12/site-packages/pyxlsb/stringtable.py
Normal file
31
venv/lib/python3.12/site-packages/pyxlsb/stringtable.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from . import biff12
|
||||
from .reader import BIFF12Reader
|
||||
|
||||
class StringTable(object):
|
||||
def __init__(self, fp):
|
||||
super(StringTable, self).__init__()
|
||||
self._reader = BIFF12Reader(fp=fp)
|
||||
self._strings = []
|
||||
self._parse()
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, type, value, traceback):
|
||||
self.close()
|
||||
|
||||
def __getitem__(self, key):
|
||||
return self._strings[key]
|
||||
|
||||
def _parse(self):
|
||||
for item in self._reader:
|
||||
if item[0] == biff12.SI:
|
||||
self._strings.append(item[1].t)
|
||||
elif item[0] == biff12.SST_END:
|
||||
break
|
||||
|
||||
def get_string(self, idx):
|
||||
return self._strings[idx]
|
||||
|
||||
def close(self):
|
||||
self._reader.close()
|
||||
Reference in New Issue
Block a user