diff --git a/pdfminer/pdfcolor.py b/pdfminer/pdfcolor.py index 4792bfe..d1b2d3c 100644 --- a/pdfminer/pdfcolor.py +++ b/pdfminer/pdfcolor.py @@ -1,12 +1,12 @@ #!/usr/bin/env python -from psparser import PSLiteralTable +from psparser import LIT ## PDFColorSpace ## -LITERAL_DEVICE_GRAY = PSLiteralTable.intern('DeviceGray') -LITERAL_DEVICE_RGB = PSLiteralTable.intern('DeviceRGB') -LITERAL_DEVICE_CMYK = PSLiteralTable.intern('DeviceCMYK') +LITERAL_DEVICE_GRAY = LIT('DeviceGray') +LITERAL_DEVICE_RGB = LIT('DeviceRGB') +LITERAL_DEVICE_CMYK = LIT('DeviceCMYK') class PDFColorSpace(object): diff --git a/pdfminer/pdffont.py b/pdfminer/pdffont.py index 9e43dc1..31c3d32 100644 --- a/pdfminer/pdffont.py +++ b/pdfminer/pdffont.py @@ -7,9 +7,8 @@ except ImportError: from cmap import CMap, CMapDB, CMapParser from cmap import FontMetricsDB, EncodingDB from struct import pack, unpack -from psparser import STRICT -from psparser import PSLiteralTable, PSKeywordTable -from psparser import PSLiteral, literal_name, keyword_name +from psparser import LIT, STRICT +from psparser import PSLiteral, literal_name from pdftypes import PDFException, resolve1 from pdftypes import int_value, float_value, num_value from pdftypes import str_value, list_value, dict_value, stream_value @@ -314,8 +313,8 @@ class TrueTypeFont(object): class PDFFontError(PDFException): pass class PDFUnicodeNotDefined(PDFFontError): pass -LITERAL_STANDARD_ENCODING = PSLiteralTable.intern('StandardEncoding') -LITERAL_TYPE1C = PSLiteralTable.intern('Type1C') +LITERAL_STANDARD_ENCODING = LIT('StandardEncoding') +LITERAL_TYPE1C = LIT('Type1C') # PDFFont diff --git a/pdfminer/pdfinterp.py b/pdfminer/pdfinterp.py index e403087..69ea7d6 100644 --- a/pdfminer/pdfinterp.py +++ b/pdfminer/pdfinterp.py @@ -8,10 +8,9 @@ except ImportError: from StringIO import StringIO from cmap import CMapDB from psparser import PSException, PSTypeError, PSEOF -from psparser import PSLiteralTable, PSKeywordTable -from psparser import PSKeyword, literal_name, keyword_name +from psparser import PSKeyword, literal_name from psparser import PSStackParser -from psparser import STRICT +from psparser import LIT, KWD, STRICT from pdftypes import PDFException, PDFStream, PDFObjRef from pdftypes import resolve1 from pdftypes import int_value, float_value, num_value @@ -37,11 +36,11 @@ class PDFInterpreterError(PDFException): pass ## Constants ## -LITERAL_PDF = PSLiteralTable.intern('PDF') -LITERAL_TEXT = PSLiteralTable.intern('Text') -LITERAL_FONT = PSLiteralTable.intern('Font') -LITERAL_FORM = PSLiteralTable.intern('Form') -LITERAL_IMAGE = PSLiteralTable.intern('Image') +LITERAL_PDF = LIT('PDF') +LITERAL_TEXT = LIT('Text') +LITERAL_FONT = LIT('Font') +LITERAL_FORM = LIT('Form') +LITERAL_IMAGE = LIT('Image') ## PDFTextState @@ -240,9 +239,9 @@ class PDFContentParser(PSStackParser): self.add_results(*self.popall()) return - KEYWORD_BI = PSKeywordTable.intern('BI') - KEYWORD_ID = PSKeywordTable.intern('ID') - KEYWORD_EI = PSKeywordTable.intern('EI') + KEYWORD_BI = KWD('BI') + KEYWORD_ID = KWD('ID') + KEYWORD_EI = KWD('EI') def do_keyword(self, pos, token): if token is self.KEYWORD_BI: # inline image within a content stream diff --git a/pdfminer/pdfparser.py b/pdfminer/pdfparser.py index 8c0f0de..49b91ed 100644 --- a/pdfminer/pdfparser.py +++ b/pdfminer/pdfparser.py @@ -10,9 +10,8 @@ except ImportError: from StringIO import StringIO from psparser import PSStackParser from psparser import PSSyntaxError, PSEOF -from psparser import PSLiteralTable, PSKeywordTable -from psparser import literal_name, keyword_name -from psparser import STRICT +from psparser import literal_name +from psparser import LIT, KWD, STRICT from pdftypes import PDFException, PDFTypeError, PDFNotImplementedError from pdftypes import PDFStream, PDFObjRef from pdftypes import resolve1, decipher_all @@ -31,11 +30,11 @@ class PDFEncryptionError(PDFException): pass class PDFPasswordIncorrect(PDFEncryptionError): pass # some predefined literals and keywords. -LITERAL_OBJSTM = PSLiteralTable.intern('ObjStm') -LITERAL_XREF = PSLiteralTable.intern('XRef') -LITERAL_PAGE = PSLiteralTable.intern('Page') -LITERAL_PAGES = PSLiteralTable.intern('Pages') -LITERAL_CATALOG = PSLiteralTable.intern('Catalog') +LITERAL_OBJSTM = LIT('ObjStm') +LITERAL_XREF = LIT('XRef') +LITERAL_PAGE = LIT('Page') +LITERAL_PAGES = LIT('Pages') +LITERAL_CATALOG = LIT('Catalog') ## XRefs @@ -123,7 +122,7 @@ class PDFXRef(PDFBaseXRef): self.load_trailer(parser) return - KEYWORD_TRAILER = PSKeywordTable.intern('trailer') + KEYWORD_TRAILER = KWD('trailer') def load_trailer(self, parser): try: (_,kwd) = parser.nexttoken() @@ -377,7 +376,7 @@ class PDFDocument(object): key = hash.digest()[:min(len(key),16)] return Arcfour(key).process(data) - KEYWORD_OBJ = PSKeywordTable.intern('obj') + KEYWORD_OBJ = KWD('obj') def getobj(self, objid): if not self.ready: raise PDFException('PDFDocument not initialized') @@ -539,11 +538,11 @@ class PDFParser(PSStackParser): def __repr__(self): return '' - KEYWORD_R = PSKeywordTable.intern('R') - KEYWORD_ENDOBJ = PSKeywordTable.intern('endobj') - KEYWORD_STREAM = PSKeywordTable.intern('stream') - KEYWORD_XREF = PSKeywordTable.intern('xref') - KEYWORD_STARTXREF = PSKeywordTable.intern('startxref') + KEYWORD_R = KWD('R') + KEYWORD_ENDOBJ = KWD('endobj') + KEYWORD_STREAM = KWD('stream') + KEYWORD_XREF = KWD('xref') + KEYWORD_STARTXREF = KWD('startxref') def do_keyword(self, pos, token): if token in (self.KEYWORD_XREF, self.KEYWORD_STARTXREF): self.add_results(*self.pop(1)) diff --git a/pdfminer/pdftypes.py b/pdfminer/pdftypes.py index 5d0a204..4abd307 100644 --- a/pdfminer/pdftypes.py +++ b/pdfminer/pdftypes.py @@ -3,17 +3,14 @@ import sys import zlib from lzw import lzwdecode from ascii85 import ascii85decode, asciihexdecode -from psparser import PSException -from psparser import PSObject, PSLiteral, PSKeyword -from psparser import PSLiteralTable, PSKeywordTable -from psparser import literal_name, keyword_name -from psparser import STRICT +from psparser import PSException, PSObject +from psparser import LIT, KWD, STRICT -LITERAL_CRYPT = PSLiteralTable.intern('Crypt') -LITERALS_FLATE_DECODE = (PSLiteralTable.intern('FlateDecode'), PSLiteralTable.intern('Fl')) -LITERALS_LZW_DECODE = (PSLiteralTable.intern('LZWDecode'), PSLiteralTable.intern('LZW')) -LITERALS_ASCII85_DECODE = (PSLiteralTable.intern('ASCII85Decode'), PSLiteralTable.intern('A85')) -LITERALS_ASCIIHEX_DECODE = (PSLiteralTable.intern('ASCIIHexDecode'), PSLiteralTable.intern('AHx')) +LITERAL_CRYPT = LIT('Crypt') +LITERALS_FLATE_DECODE = (LIT('FlateDecode'), LIT('Fl')) +LITERALS_LZW_DECODE = (LIT('LZWDecode'), LIT('LZW')) +LITERALS_ASCII85_DECODE = (LIT('ASCII85Decode'), LIT('A85')) +LITERALS_ASCIIHEX_DECODE = (LIT('ASCIIHexDecode'), LIT('AHx')) ## PDF Objects