Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.

Commit

Permalink
Use logging module instead of print.
Browse files Browse the repository at this point in the history
  • Loading branch information
euske committed Jun 14, 2014
1 parent fb3f2d9 commit 8e14ebf
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 41 deletions.
7 changes: 4 additions & 3 deletions pdfminer/cmapdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import gzip
import cPickle as pickle
import struct
import logging
from psparser import PSStackParser
from psparser import PSSyntaxError, PSEOF
from psparser import PSLiteral
Expand Down Expand Up @@ -84,7 +85,7 @@ def copy(dst, src):

def decode(self, code):
if self.debug:
print >>sys.stderr, 'decode: %r, %r' % (self, code)
logging.debug('decode: %r, %r' % (self, code))
d = self.code2cid
for c in code:
c = ord(c)
Expand Down Expand Up @@ -136,7 +137,7 @@ def __repr__(self):

def get_unichr(self, cid):
if self.debug:
print >>sys.stderr, 'get_unichr: %r, %r' % (self, cid)
logging.debug('get_unichr: %r, %r' % (self, cid))
return self.cid2unichr[cid]

def dump(self, out=sys.stdout):
Expand Down Expand Up @@ -225,7 +226,7 @@ class CMapNotFound(CMapError):
def _load_data(klass, name):
filename = '%s.pickle.gz' % name
if klass.debug:
print >>sys.stderr, 'loading:', name
logging.info('loading: %r' % name)
cmap_paths = (os.environ.get('CMAP_PATH', '/usr/share/pdfminer/'),
os.path.join(os.path.dirname(__file__), 'cmap'),)
for directory in cmap_paths:
Expand Down
3 changes: 2 additions & 1 deletion pdfminer/converter.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python
import sys
import logging
from pdfdevice import PDFTextDevice
from pdffont import PDFUnicodeNotDefined
from layout import LTContainer, LTPage, LTText, LTLine, LTRect, LTCurve
Expand Down Expand Up @@ -104,7 +105,7 @@ def render_char(self, matrix, font, fontsize, scaling, rise, cid):

def handle_undefined_char(self, font, cid):
if self.debug:
print >>sys.stderr, 'undefined: %r, %r' % (font, cid)
logging.info('undefined: %r, %r' % (font, cid))
return '(cid:%d)' % cid

def receive_layout(self, ltpage):
Expand Down
5 changes: 3 additions & 2 deletions pdfminer/lzw.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python
import sys
import logging
try:
from cStringIO import StringIO
except ImportError:
Expand Down Expand Up @@ -94,8 +95,8 @@ def run(self):
break
yield x
if self.debug:
print >>sys.stderr, ('nbits=%d, code=%d, output=%r, table=%r' %
(self.nbits, code, x, self.table[258:]))
logging.debug('nbits=%d, code=%d, output=%r, table=%r' %
(self.nbits, code, x, self.table[258:]))
return


Expand Down
25 changes: 13 additions & 12 deletions pdfminer/pdfdocument.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import sys
import re
import struct
import logging
try:
import hashlib as md5
except ImportError:
Expand Down Expand Up @@ -116,7 +117,7 @@ def load(self, parser, debug=0):
continue
self.offsets[objid] = (None, long(pos), int(genno))
if 1 <= debug:
print >>sys.stderr, 'xref objects:', self.offsets
logging.info('xref objects: %r' % self.offsets)
self.load_trailer(parser)
return

Expand Down Expand Up @@ -168,7 +169,7 @@ def load(self, parser, debug=0):
parser.seek(pos)
self.load_trailer(parser)
if 1 <= debug:
print >>sys.stderr, 'trailer: %r' % self.get_trailer()
logging.info('trailer: %r' % self.get_trailer())
break
m = self.PDFOBJ_CUE.match(line)
if not m:
Expand Down Expand Up @@ -234,9 +235,9 @@ def load(self, parser, debug=0):
self.entlen = self.fl1+self.fl2+self.fl3
self.trailer = stream.attrs
if 1 <= debug:
print >>sys.stderr, ('xref stream: objid=%s, fields=%d,%d,%d' %
(', '.join(map(repr, self.ranges)),
self.fl1, self.fl2, self.fl3))
logging.info('xref stream: objid=%s, fields=%d,%d,%d' %
(', '.join(map(repr, self.ranges)),
self.fl1, self.fl2, self.fl3))
return

def get_trailer(self):
Expand Down Expand Up @@ -635,7 +636,7 @@ def getobj(self, objid):
if not self.xrefs:
raise PDFException('PDFDocument is not initialized')
if 2 <= self.debug:
print >>sys.stderr, 'getobj: objid=%r' % (objid)
logging.debug('getobj: objid=%r' % objid)
if objid in self._cached_objs:
(obj, genno) = self._cached_objs[objid]
else:
Expand All @@ -661,7 +662,7 @@ def getobj(self, objid):
else:
raise PDFObjectNotFound(objid)
if 2 <= self.debug:
print >>sys.stderr, 'register: objid=%r: %r' % (objid, obj)
logging.debug('register: objid=%r: %r' % (objid, obj))
if self.caching:
self._cached_objs[objid] = (obj, genno)
return obj
Expand Down Expand Up @@ -735,15 +736,15 @@ def find_xref(self, parser):
for line in parser.revreadlines():
line = line.strip()
if 2 <= self.debug:
print >>sys.stderr, 'find_xref: %r' % line
logging.debug('find_xref: %r' % line)
if line == 'startxref':
break
if line:
prev = line
else:
raise PDFNoValidXRef('Unexpected EOF')
if 1 <= self.debug:
print >>sys.stderr, 'xref found: pos=%r' % prev
logging.info('xref found: pos=%r' % prev)
return long(prev)

# read xref table
Expand All @@ -755,8 +756,8 @@ def read_xref_from(self, parser, start, xrefs):
(pos, token) = parser.nexttoken()
except PSEOF:
raise PDFNoValidXRef('Unexpected EOF')
if 2 <= self.debug:
print >>sys.stderr, 'read_xref_from: start=%d, token=%r' % (start, token)
if 1 <= self.debug:
logging.info('read_xref_from: start=%d, token=%r' % (start, token))
if isinstance(token, int):
# XRefStream: PDF-1.5
parser.seek(pos)
Expand All @@ -771,7 +772,7 @@ def read_xref_from(self, parser, start, xrefs):
xrefs.append(xref)
trailer = xref.get_trailer()
if 1 <= self.debug:
print >>sys.stderr, 'trailer: %r' % trailer
logging.info('trailer: %r' % trailer)
if 'XRefStm' in trailer:
pos = int_value(trailer['XRefStm'])
self.read_xref_from(parser, pos, xrefs)
Expand Down
19 changes: 10 additions & 9 deletions pdfminer/pdfinterp.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env python
import sys
import re
import logging
try:
from cStringIO import StringIO
except ImportError:
Expand Down Expand Up @@ -160,8 +161,8 @@ def get_font(self, objid, spec):
if objid and objid in self._cached_fonts:
font = self._cached_fonts[objid]
else:
if 2 <= self.debug:
print >>sys.stderr, 'get_font: create: objid=%r, spec=%r' % (objid, spec)
if 1 <= self.debug:
logging.info('get_font: create: objid=%r, spec=%r' % (objid, spec))
if STRICT:
if spec['Type'] is not LITERAL_FONT:
raise PDFFontError('Type is not /Font')
Expand Down Expand Up @@ -337,7 +338,7 @@ def get_colorspace(spec):
return PREDEFINED_COLORSPACE.get(name)
for (k, v) in dict_value(resources).iteritems():
if 2 <= self.debug:
print >>sys.stderr, 'Resource: %r: %r' % (k, v)
logging.debug('Resource: %r: %r' % (k, v))
if k == 'Font':
for (fontid, spec) in dict_value(v).iteritems():
objid = None
Expand Down Expand Up @@ -794,7 +795,7 @@ def do_Do(self, xobjid):
raise PDFInterpreterError('Undefined xobject id: %r' % xobjid)
return
if 1 <= self.debug:
print >>sys.stderr, 'Processing xobj: %r' % xobj
logging.info('Processing xobj: %r' % xobj)
subtype = xobj.get('Subtype')
if subtype is LITERAL_FORM and 'BBox' in xobj:
interpreter = self.dup()
Expand All @@ -818,7 +819,7 @@ def do_Do(self, xobjid):

def process_page(self, page):
if 1 <= self.debug:
print >>sys.stderr, 'Processing page: %r' % page
logging.info('Processing page: %r' % page)
(x0, y0, x1, y1) = page.mediabox
if page.rotate == 90:
ctm = (0, -1, 1, 0, -y0, x1)
Expand All @@ -838,8 +839,8 @@ def process_page(self, page):
# This method may be called recursively.
def render_contents(self, resources, streams, ctm=MATRIX_IDENTITY):
if 1 <= self.debug:
print >>sys.stderr, ('render_contents: resources=%r, streams=%r, ctm=%r' %
(resources, streams, ctm))
logging.info('render_contents: resources=%r, streams=%r, ctm=%r' %
(resources, streams, ctm))
self.init_resources(resources)
self.init_state(ctm)
self.execute(list_value(streams))
Expand All @@ -865,12 +866,12 @@ def execute(self, streams):
if nargs:
args = self.pop(nargs)
if 2 <= self.debug:
print >>sys.stderr, 'exec: %s %r' % (name, args)
logging.debug('exec: %s %r' % (name, args))
if len(args) == nargs:
func(*args)
else:
if 2 <= self.debug:
print >>sys.stderr, 'exec: %s' % (name)
logging.debug('exec: %s' % name)
func()
else:
if STRICT:
Expand Down
5 changes: 3 additions & 2 deletions pdfminer/pdfpage.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python
import sys
import logging
from psparser import LIT
from pdftypes import PDFObjectNotFound
from pdftypes import resolve1
Expand Down Expand Up @@ -86,13 +87,13 @@ def search(obj, parent):
tree[k] = v
if tree.get('Type') is LITERAL_PAGES and 'Kids' in tree:
if 1 <= debug:
print >>sys.stderr, 'Pages: Kids=%r' % tree['Kids']
logging.info('Pages: Kids=%r' % tree['Kids'])
for c in list_value(tree['Kids']):
for x in search(c, tree):
yield x
elif tree.get('Type') is LITERAL_PAGE:
if 1 <= debug:
print >>sys.stderr, 'Page: %r' % tree
logging.info('Page: %r' % tree)
yield (objid, tree)
pages = False
if 'Pages' in document.catalog:
Expand Down
5 changes: 3 additions & 2 deletions pdfminer/pdfparser.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python
import sys
import logging
try:
from cStringIO import StringIO
except ImportError:
Expand Down Expand Up @@ -121,8 +122,8 @@ def do_keyword(self, pos, token):
self.seek(pos+objlen)
# XXX limit objlen not to exceed object boundary
if 2 <= self.debug:
print >>sys.stderr, 'Stream: pos=%d, objlen=%d, dic=%r, data=%r...' % \
(pos, objlen, dic, data[:10])
logging.debug('Stream: pos=%d, objlen=%d, dic=%r, data=%r...' % \
(pos, objlen, dic, data[:10]))
obj = PDFStream(dic, data, self.doc.decipher)
self.push((pos, obj))

Expand Down
21 changes: 11 additions & 10 deletions pdfminer/psparser.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env python
import sys
import re
import logging
from utils import choplist

STRICT = 0
Expand Down Expand Up @@ -184,15 +185,15 @@ def poll(self, pos=None, n=80):
if not pos:
pos = self.bufpos+self.charpos
self.fp.seek(pos)
print >>sys.stderr, 'poll(%d): %r' % (pos, self.fp.read(n))
logging.info('poll(%d): %r' % (pos, self.fp.read(n)))
self.fp.seek(pos0)
return

def seek(self, pos):
"""Seeks the parser to the given position.
"""
if 2 <= self.debug:
print >>sys.stderr, 'seek: %r' % pos
logging.debug('seek: %r' % pos)
self.fp.seek(pos)
# reset the status for nextline()
self.bufpos = pos
Expand Down Expand Up @@ -243,7 +244,7 @@ def nextline(self):
linebuf += self.buf[self.charpos:]
self.charpos = len(self.buf)
if 2 <= self.debug:
print >>sys.stderr, 'nextline: %r' % ((linepos, linebuf),)
logging.debug('nextline: %r, %r' % (linepos, linebuf))
return (linepos, linebuf)

def revreadlines(self):
Expand Down Expand Up @@ -483,7 +484,7 @@ def nexttoken(self):
self.charpos = self._parse1(self.buf, self.charpos)
token = self._tokens.pop(0)
if 2 <= self.debug:
print >>sys.stderr, 'nexttoken: %r' % (token,)
logging.debug('nexttoken: %r' % token)
return token


Expand Down Expand Up @@ -524,15 +525,15 @@ def popall(self):

def add_results(self, *objs):
if 2 <= self.debug:
print >>sys.stderr, 'add_results: %r' % (objs,)
logging.debug('add_results: %r' % objs)
self.results.extend(objs)
return

def start_type(self, pos, type):
self.context.append((pos, self.curtype, self.curstack))
(self.curtype, self.curstack) = (type, [])
if 2 <= self.debug:
print >>sys.stderr, 'start_type: pos=%r, type=%r' % (pos, type)
logging.debug('start_type: pos=%r, type=%r' % (pos, type))
return

def end_type(self, type):
Expand All @@ -541,7 +542,7 @@ def end_type(self, type):
objs = [obj for (_, obj) in self.curstack]
(pos, self.curtype, self.curstack) = self.context.pop()
if 2 <= self.debug:
print >>sys.stderr, 'end_type: pos=%r, type=%r, objs=%r' % (pos, type, objs)
logging.debug('end_type: pos=%r, type=%r, objs=%r' % (pos, type, objs))
return (pos, objs)

def do_keyword(self, pos, token):
Expand Down Expand Up @@ -596,16 +597,16 @@ def nextobject(self):
raise
else:
if 2 <= self.debug:
print >>sys.stderr, 'do_keyword: pos=%r, token=%r, stack=%r' % \
(pos, token, self.curstack)
logging.debug('do_keyword: pos=%r, token=%r, stack=%r' % \
(pos, token, self.curstack))
self.do_keyword(pos, token)
if self.context:
continue
else:
self.flush()
obj = self.results.pop(0)
if 2 <= self.debug:
print >>sys.stderr, 'nextobject: %r' % (obj,)
logging.debug('nextobject: %r' % obj)
return obj


Expand Down

0 comments on commit 8e14ebf

Please sign in to comment.