def _processPackageDir(p,dn,P,allowCompiled=True): if _ofile: print('searching package', p, 'dn=',dn, file=_ofile) from reportlab.lib.utils import rl_glob, rl_isfile, rl_isdir, isCompactDistro if isCompactDistro(): ext = '.pyc' init = '__init__'+ext FN = [normpath(x) for x in rl_glob(path_join(dn,'*'))] D = [] dn = normpath(dn) for x in FN: x = path_dirname(x) if x not in D and rl_isdir(x) and path_dirname(x)==dn and rl_isfile(path_join(x,init)): D.append(x) F = [x for x in FN if x.endswith(ext) and path_dirname(x)==dn and not path_basename(x).startswith('__init__.')] else: ext = '.py' init = '__init__'+ext FN = [path_join(dn,x) for x in os.listdir(dn)] D = [x for x in FN if path_isdir(x) and isPyFile(path_join(x,init))] F = [x for x in FN if (x.endswith(ext) or (allowCompiled and (x.endswith(ext+'c') or x.endswith(ext+'o')))) and not path_basename(x).startswith('__init__.')] for f in F: mn = path_splitext(path_basename(f))[0] if p: mn = p+'.'+mn if mn not in P: if _ofile: print('appending 1',mn, file=_ofile) P.append(mn) for f in D: mn = p+('.'+path_basename(f)) if mn not in P: if _ofile: print('appending 2',mn, file=_ofile) P.append(mn)
def test0(self): "Test if pythonpoint.pdf can be created from pythonpoint.xml." join, dirname, isfile, abspath = os.path.join, os.path.dirname, os.path.isfile, os.path.abspath rlDir = abspath(dirname(reportlab.__file__)) from reportlab.tools.pythonpoint import pythonpoint from reportlab.lib.utils import isCompactDistro, open_for_read ppDir = dirname(pythonpoint.__file__) xml = join(ppDir, 'demos', 'pythonpoint.xml') datafilename = 'pythonpoint.pdf' outDir = outputfile('') if isCompactDistro(): cwd = None xml = open_for_read(xml) else: cwd = os.getcwd() os.chdir(join(ppDir, 'demos')) pdf = join(outDir, datafilename) if isfile(pdf): os.remove(pdf) pythonpoint.process(xml, outDir=outDir, verbose=0, datafilename=datafilename) if cwd: os.chdir(cwd) assert os.path.exists(pdf)
def xml2rad(xml, validating=1, eoCB=None): '''convert xml to radxml form''' if validating: from reportlab.lib.utils import isCompactDistro, open_and_read if not eoCB and isCompactDistro(): eoCB = lambda x, open_and_read=open_and_read: (x, open_and_read(x)) import pyRXPU rad = pyRXPU.Parser().parse(xml,eoCB=eoCB) else: from reportlab.lib import rparsexml rad = rparsexml.parsexml0(xml)[0][2][0] return rad
def xml2rad(xml, validating=1, eoCB=None): '''convert xml to radxml form''' if validating: from reportlab.lib.utils import isCompactDistro, open_and_read if not eoCB and isCompactDistro(): eoCB = lambda x, open_and_read=open_and_read: (x, open_and_read(x)) import pyRXPU rad = pyRXPU.Parser().parse(xml, eoCB=eoCB) else: from reportlab.lib import rparsexml rad = rparsexml.parsexml0(xml)[0][2][0] return rad
def __init__(self, directory, pattern='*'): self.index = 0 self.pattern = pattern directory.replace('/',os.sep) if os.path.isdir(directory): self.stack = [directory] self.files = [] else: if not isCompactDistro() or not __loader__ or not rl_isdir(directory): raise ValueError('"%s" is not a directory' % directory) self.directory = directory[len(__loader__.archive)+len(os.sep):] pfx = self.directory+os.sep n = len(pfx) self.files = list(map(lambda x, n=n: x[n:],list(filter(lambda x,pfx=pfx: x.startswith(pfx),list(__loader__._files.keys()))))) self.stack = []
def test0(self): "Test if pythonpoint.pdf can be created from pythonpoint.xml." join, dirname, isfile, abspath = os.path.join, os.path.dirname, os.path.isfile, os.path.abspath from tools.pythonpoint import pythonpoint from reportlab.lib.utils import isCompactDistro, open_for_read ppDir = dirname(pythonpoint.__file__) xml = abspath(join(ppDir, 'demos', 'pythonpoint.xml')) datafilename = 'pythonpoint.pdf' outDir = outputfile('') if isCompactDistro(): xml = open_for_read(xml) pdf = join(outDir, datafilename) if isfile(pdf): os.remove(pdf) pythonpoint.process(xml, outDir=outDir, verbose=0, datafilename=datafilename) assert os.path.exists(pdf)
def __init__(self, directory, pattern='*'): self.index = 0 self.pattern = pattern directory.replace('/',os.sep) if os.path.isdir(directory): self.stack = [directory] self.files = [] else: from reportlab.lib.utils import isCompactDistro, __loader__, rl_isdir if not isCompactDistro() or not __loader__ or not rl_isdir(directory): raise ValueError('"%s" is not a directory' % directory) self.directory = directory[len(__loader__.archive)+len(os.sep):] pfx = self.directory+os.sep n = len(pfx) self.files = map(lambda x, n=n: x[n:],filter(lambda x,pfx=pfx: x.startswith(pfx),__loader__._files.keys())) self.stack = []
def compactDistro_eoCB(targets=(), dtdDirs=(), fs_eoCB=None): '''create an entity opening callback targets is a list of possible dtd basenames dtdDirs is a list of possible dtdDirs fs_eoCB is an alternate eoCB for when we're not compact ''' from reportlab.lib.utils import isCompactDistro if isCompactDistro(): def eoCB(s,targets=targets,dtdDirs=dtdDirs): from reportlab.lib.utils import open_and_read, rl_isfile bn = os.path.basename(s) if bn in targets: for d in dtdDirs: fn = os.path.join(d,bn) if rl_isfile(fn): return fn, open_and_read(fn,'t') return s else: eoCB = fs_eoCB return eoCB
def __init__(self, directory, pattern="*"): self.index = 0 self.pattern = pattern directory.replace("/", os.sep) if os.path.isdir(directory): self.stack = [directory] self.files = [] else: from reportlab.lib.utils import isCompactDistro, __loader__, rl_isdir if not isCompactDistro() or not __loader__ or not rl_isdir(directory): raise ValueError('"%s" is not a directory' % directory) self.directory = directory[len(__loader__.archive) + len(os.sep) :] pfx = self.directory + os.sep n = len(pfx) self.files = map( lambda x, n=n: x[n:], filter(lambda x, pfx=pfx: x.startswith(pfx), __loader__._files.keys()) ) self.stack = []
def compactDistro_eoCB(targets=(), dtdDirs=(), fs_eoCB=None): '''create an entity opening callback targets is a list of possible dtd basenames dtdDirs is a list of possible dtdDirs fs_eoCB is an alternate eoCB for when we're not compact ''' from reportlab.lib.utils import isCompactDistro if isCompactDistro(): def eoCB(s, targets=targets, dtdDirs=dtdDirs): from reportlab.lib.utils import open_and_read, rl_isfile bn = os.path.basename(s) if bn in targets: for d in dtdDirs: fn = os.path.join(d, bn) if rl_isfile(fn): return fn, open_and_read(fn, 't') return s else: eoCB = fs_eoCB return eoCB
def _processPackageDir(p, dn, P, allowCompiled=True): if _ofile: print('searching package', p, 'dn=', dn, file=_ofile) from reportlab.lib.utils import rl_glob, rl_isfile, rl_isdir, isCompactDistro if isCompactDistro(): ext = '.pyc' init = '__init__' + ext FN = [normpath(x) for x in rl_glob(path_join(dn, '*'))] D = [] dn = normpath(dn) for x in FN: x = path_dirname(x) if x not in D and rl_isdir(x) and path_dirname( x) == dn and rl_isfile(path_join(x, init)): D.append(x) F = [ x for x in FN if x.endswith(ext) and path_dirname(x) == dn and not path_basename(x).startswith('__init__.') ] else: ext = '.py' init = '__init__' + ext FN = [path_join(dn, x) for x in os.listdir(dn)] D = [x for x in FN if path_isdir(x) and isPyFile(path_join(x, init))] F = [ x for x in FN if (x.endswith(ext) or (allowCompiled and ( x.endswith(ext + 'c') or x.endswith(ext + 'o')))) and not path_basename(x).startswith('__init__.') ] for f in F: mn = path_splitext(path_basename(f))[0] if p: mn = p + '.' + mn if mn not in P: if _ofile: print('appending 1', mn, file=_ofile) P.append(mn) for f in D: mn = p + ('.' + path_basename(f)) if mn not in P: if _ofile: print('appending 2', mn, file=_ofile) P.append(mn)