diff options
Diffstat (limited to 'tablib/packages/xlwt/ExcelFormula.py')
| -rw-r--r-- | tablib/packages/xlwt/ExcelFormula.py | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/tablib/packages/xlwt/ExcelFormula.py b/tablib/packages/xlwt/ExcelFormula.py deleted file mode 100644 index 698d970..0000000 --- a/tablib/packages/xlwt/ExcelFormula.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: windows-1252 -*- - -import ExcelFormulaParser, ExcelFormulaLexer -import struct -from antlr import ANTLRException - - -class Formula(object): - __slots__ = ["__init__", "__s", "__parser", "__sheet_refs", "__xcall_refs"] - - - def __init__(self, s): - try: - self.__s = s - lexer = ExcelFormulaLexer.Lexer(s) - self.__parser = ExcelFormulaParser.Parser(lexer) - self.__parser.formula() - self.__sheet_refs = self.__parser.sheet_references - self.__xcall_refs = self.__parser.xcall_references - except ANTLRException, e: - # print e - raise ExcelFormulaParser.FormulaParseException, "can't parse formula " + s - - def get_references(self): - return self.__sheet_refs, self.__xcall_refs - - def patch_references(self, patches): - for offset, idx in patches: - self.__parser.rpn = self.__parser.rpn[:offset] + struct.pack('<H', idx) + self.__parser.rpn[offset+2:] - - def text(self): - return self.__s - - def rpn(self): - ''' - Offset Size Contents - 0 2 Size of the following formula data (sz) - 2 sz Formula data (RPN token array) - [2+sz] var. (optional) Additional data for specific tokens - - ''' - return struct.pack("<H", len(self.__parser.rpn)) + self.__parser.rpn - |
