def build_sphinx(sphinxdir, outpdf): builddir = tempfile.mkdtemp(prefix='rst2pdf-sphinx-') errcode, result = textexec("sphinx-build -b pdf %s %s" % ( os.path.abspath(sphinxdir), builddir)) pdffiles = globjoin(builddir, '*.pdf') if len(pdffiles) == 1: shutil.copyfile(pdffiles[0], outpdf) elif not pdffiles: log(result, 'Output PDF apparently not generated') errcode = 1 else: shutil.copytree(builddir, outpdf) return errcode, result
def build_txt(iprefix, outpdf, fastfork): inpfname = iprefix + '.txt' style = iprefix + '.style' cli = iprefix + '.cli' if os.path.isfile(cli): with open(cli, 'r') as f: extraargs=shlex.split(f.read()) else: extraargs=[] args = PathInfo.runcmd + ['--date-invariant', '-v', os.path.basename(inpfname)]+extraargs if os.path.exists(style): args.extend(('-s', os.path.basename(style))) args.extend(('-o', outpdf)) return textexec(args, cwd=dirname(inpfname), python_proc=fastfork)
def build_txt(iprefix, outpdf, fastfork): inpfname = iprefix + '.txt' style = iprefix + '.style' cli = iprefix + '.cli' if os.path.isfile(cli): f = open(cli) extraargs=shlex.split(f.read()) f.close() else: extraargs=[] args = PathInfo.runcmd + ['--date-invariant', '-v', os.path.basename(inpfname)]+extraargs if os.path.exists(style): args.extend(('-s', os.path.basename(style))) args.extend(('-o', outpdf)) return textexec(args, cwd=dirname(inpfname), python_proc=fastfork)
def build_sphinx(sphinxdir, outpdf): def getbuilddirs(): return globjoin(sphinxdir, '*build*') for builddir in getbuilddirs(): shutil.rmtree(builddir) errcode, result = textexec('make clean pdf', cwd=sphinxdir) builddirs = getbuilddirs() if len(builddirs) != 1: log(result, 'Cannot determine build directory') return 1, result builddir, = builddirs pdfdir = os.path.join(builddir, 'pdf') pdffiles = globjoin(pdfdir, '*.pdf') if len(pdffiles) == 1: shutil.copyfile(pdffiles[0], outpdf) elif not pdffiles: log(result, 'Output PDF apparently not generated') errcode = 1 else: shutil.copytree(pdfdir, outpdf) return errcode, result
def run_installed_single(inpfname): """Like run_single, but runs the test using the installed version of rst2pdf""" iprefix = os.path.splitext(inpfname)[0] basename = os.path.basename(iprefix) if os.path.exists(iprefix + '.ignore'): return 'ignored', 0 oprefix = os.path.join(PathInfo.outdir, basename) mprefix = os.path.join(PathInfo.md5dir, basename) outpdf = oprefix + '.pdf' outtext = oprefix + '.log' md5file = mprefix + '.json' inpfname = iprefix + '.txt' style = iprefix + '.style' cli = iprefix + '.cli' if os.path.isfile(cli): f = open(cli) extraargs = shlex.split(f.read()) f.close() else: extraargs = [] args = ['rst2pdf' ] + ['--date-invariant', '-v', os.path.basename(inpfname)] + extraargs if os.path.exists(style): args.extend(('-s', os.path.basename(style))) args.extend(('-o', outpdf)) errcode, result = textexec(args, cwd=dirname(inpfname), python_proc=None) checkinfo = checkmd5(outpdf, md5file, result, None, errcode, iprefix) log(result, '') outf = open(outtext, 'wb') outf.write('\n'.join(result)) outf.close() return checkinfo, errcode
def run_installed_single(inpfname): """Like run_single, but runs the test using the installed version of rst2pdf""" iprefix = os.path.splitext(inpfname)[0] basename = os.path.basename(iprefix) if os.path.exists(iprefix + ".ignore"): return "ignored", 0 oprefix = os.path.join(PathInfo.outdir, basename) mprefix = os.path.join(PathInfo.md5dir, basename) outpdf = oprefix + ".pdf" outtext = oprefix + ".log" md5file = mprefix + ".json" inpfname = iprefix + ".txt" style = iprefix + ".style" cli = iprefix + ".cli" if os.path.isfile(cli): f = open(cli) extraargs = shlex.split(f.read()) f.close() else: extraargs = [] args = ["rst2pdf"] + ["--date-invariant", "-v", os.path.basename(inpfname)] + extraargs if os.path.exists(style): args.extend(("-s", os.path.basename(style))) args.extend(("-o", outpdf)) errcode, result = textexec(args, cwd=dirname(inpfname), python_proc=None) checkinfo = checkmd5(outpdf, md5file, result, None, errcode, iprefix) log(result, "") outf = open(outtext, "wb") outf.write("\n".join(result)) outf.close() return checkinfo, errcode
def run_installed_single(inpfname): """Like run_single, but runs the test using the installed version of rst2pdf""" iprefix = os.path.splitext(inpfname)[0] basename = os.path.basename(iprefix) if os.path.exists(iprefix + '.ignore'): return 'ignored', 0 oprefix = os.path.join(PathInfo.outdir, basename) mprefix = os.path.join(PathInfo.md5dir, basename) outpdf = oprefix + '.pdf' outtext = oprefix + '.log' md5file = mprefix + '.json' inpfname = iprefix + '.txt' style = iprefix + '.style' cli = iprefix + '.cli' if os.path.isfile(cli): f = open(cli) extraargs=shlex.split(f.read()) f.close() else: extraargs=[] args = ['rst2pdf'] + ['--date-invariant', '-v', os.path.basename(inpfname)]+extraargs if os.path.exists(style): args.extend(('-s', os.path.basename(style))) args.extend(('-o', outpdf)) errcode, result = textexec(args, cwd=dirname(inpfname), python_proc=None) checkinfo = checkmd5(outpdf, md5file, result, None, errcode, iprefix) log(result, '') outf = open(outtext, 'wb') outf.write('\n'.join(result)) outf.close() return checkinfo, errcode