Merge branch 'euske-main/master'

pull/55/head
speedplane 2014-12-11 00:06:46 -05:00
commit 830b2403e2
2 changed files with 20 additions and 65 deletions

54
.gitignore vendored
View File

@ -1,54 +0,0 @@
# Intermediate documents
*.xps
# Password and Key Files
*.pem
*.p12
# Compiled source #
###################
*.pyc
*.com
*.class
*.dll
*.exe
*.o
*.so
# Mecurial Files?
*.i
*.d
*.mo
*.hg/
# Python data files #
*.shelf
*.shelve
# Don't track these files, they are output from scripts
# Subversion files
*.svn-base
all-wcprops
entries
# Logs and databases #
######################
bulkloader-log-*
*.log
*.sql
*.sql3
*.sql3-journal
*.sqlite
# OS generated files #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db
# tmp files #
#############
~$*.doc
~WRL*.tmp

View File

@ -122,7 +122,7 @@ KEYWORD_DICT_END = KWD(b'>>')
def literal_name(x): def literal_name(x):
if not isinstance(x, PSLiteral): if not isinstance(x, PSLiteral):
if STRICT: if STRICT:
raise PSTypeError('Literal required: %r' % x) raise PSTypeError('Literal required: %r' % (x,))
else: else:
return str(x) return str(x)
return x.name return x.name
@ -131,7 +131,7 @@ def literal_name(x):
def keyword_name(x): def keyword_name(x):
if not isinstance(x, PSKeyword): if not isinstance(x, PSKeyword):
if STRICT: if STRICT:
raise PSTypeError('Keyword required: %r' % x) raise PSTypeError('Keyword required: %r' % (x,))
else: else:
return str(x) return str(x)
return x.name return x.name
@ -361,7 +361,10 @@ class PSBaseParser(object):
self.hex += c self.hex += c
return i+1 return i+1
if self.hex: if self.hex:
self._curtoken += chr(int(self.hex, 16)) try:
self._curtoken += chr(int(self.hex, 16))
except ValueError:
pass
self._parse1 = self._parse_literal self._parse1 = self._parse_literal
return i return i
@ -446,7 +449,10 @@ class PSBaseParser(object):
self.oct += c self.oct += c
return i+1 return i+1
if self.oct: if self.oct:
self._curtoken += chr(int(self.oct, 8)) try:
self._curtoken += chr(int(self.oct, 8))
except ValueError:
pass
self._parse1 = self._parse_string self._parse1 = self._parse_string
return i return i
if c in ESC_STRING: if c in ESC_STRING:
@ -479,9 +485,12 @@ class PSBaseParser(object):
return len(s) return len(s)
j = m.start(0) j = m.start(0)
self._curtoken += s[i:j] self._curtoken += s[i:j]
token = HEX_PAIR.sub(lambda m: chr(int(m.group(0), 16)), try:
SPC.sub(b'', self._curtoken)) token = HEX_PAIR.sub(lambda m: chr(int(m.group(0), 16)),
self._add_token(token) SPC.sub(b'', self._curtoken))
self._add_token(token)
except ValueError:
pass
self._parse1 = self._parse_main self._parse1 = self._parse_main
return j return j
@ -491,7 +500,7 @@ class PSBaseParser(object):
self.charpos = self._parse1(self.buf, self.charpos) self.charpos = self._parse1(self.buf, self.charpos)
token = self._tokens.pop(0) token = self._tokens.pop(0)
if self.debug: if self.debug:
logging.debug('nexttoken: %r' % token) logging.debug('nexttoken: %r' % (token,))
return token return token
@ -532,7 +541,7 @@ class PSStackParser(PSBaseParser):
def add_results(self, *objs): def add_results(self, *objs):
if self.debug: if self.debug:
logging.debug('add_results: %r' % objs) logging.debug('add_results: %r' % (objs,))
self.results.extend(objs) self.results.extend(objs)
return return
@ -585,7 +594,7 @@ class PSStackParser(PSBaseParser):
try: try:
(pos, objs) = self.end_type('d') (pos, objs) = self.end_type('d')
if len(objs) % 2 != 0: if len(objs) % 2 != 0:
raise PSSyntaxError('Invalid dictionary construct: %r' % objs) raise PSSyntaxError('Invalid dictionary construct: %r' % (objs,))
# construct a Python dictionary. # construct a Python dictionary.
d = dict((literal_name(k), v) for (k, v) in choplist(2, objs) if v is not None) d = dict((literal_name(k), v) for (k, v) in choplist(2, objs) if v is not None)
self.push((pos, d)) self.push((pos, d))
@ -613,7 +622,7 @@ class PSStackParser(PSBaseParser):
self.flush() self.flush()
obj = self.results.pop(0) obj = self.results.pop(0)
if self.debug: if self.debug:
logging.debug('nextobject: %r' % obj) logging.debug('nextobject: %r' % (obj,))
return obj return obj