Enhance markmin2pdf.py PEP8

This commit is contained in:
Hardirc
2016-04-10 09:36:06 -04:00
parent 59a194842d
commit 409c973dc4
+28 -27
View File
@@ -13,21 +13,22 @@ from markmin2latex import markmin2latex
__all__ = ['markmin2pdf'] __all__ = ['markmin2pdf']
def removeall(path):
ERROR_STR= """Error removing %(path)s, %(error)s """ def removeall(path):
ERROR_STR = """Error removing %(path)s, %(error)s """
def rmgeneric(path, __func__): def rmgeneric(path, __func__):
try: try:
__func__(path) __func__(path)
except OSError, (errno, strerror): except OSError, (errno, strerror):
print ERROR_STR % {'path' : path, 'error': strerror } print ERROR_STR % {'path': path, 'error': strerror}
files=[path] files = [path]
while files: while files:
file=files[0] file = files[0]
if os.path.isfile(file): if os.path.isfile(file):
f=os.remove f = os.remove
rmgeneric(file, os.remove) rmgeneric(file, os.remove)
del files[0] del files[0]
elif os.path.isdir(file): elif os.path.isdir(file):
@@ -36,7 +37,7 @@ def removeall(path):
rmgeneric(file, os.rmdir) rmgeneric(file, os.rmdir)
del files[0] del files[0]
else: else:
files = [os.path.join(file,x) for x in nested] + files files = [os.path.join(file, x) for x in nested] + files
def latex2pdf(latex, pdflatex='pdflatex', passes=3): def latex2pdf(latex, pdflatex='pdflatex', passes=3):
@@ -49,13 +50,13 @@ def latex2pdf(latex, pdflatex='pdflatex', passes=3):
- passes: defines how often pdflates should be run in the texfile. - passes: defines how often pdflates should be run in the texfile.
""" """
pdflatex=pdflatex pdflatex = pdflatex
passes=passes passes = passes
warnings=[] warnings = []
# setup the envoriment # setup the envoriment
tmpdir = mkdtemp() tmpdir = mkdtemp()
texfile = open(tmpdir+'/test.tex','wb') texfile = open(tmpdir + '/test.tex', 'wb')
texfile.write(latex) texfile.write(latex)
texfile.seek(0) texfile.seek(0)
texfile.close() texfile.close()
@@ -63,8 +64,8 @@ def latex2pdf(latex, pdflatex='pdflatex', passes=3):
# start doing some work # start doing some work
for i in range(0, passes): for i in range(0, passes):
logfd,logname = mkstemp() logfd, logname = mkstemp()
outfile=os.fdopen(logfd) outfile = os.fdopen(logfd)
try: try:
ret = subprocess.call([pdflatex, ret = subprocess.call([pdflatex,
'-interaction=nonstopmode', '-interaction=nonstopmode',
@@ -75,18 +76,18 @@ def latex2pdf(latex, pdflatex='pdflatex', passes=3):
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
finally: finally:
outfile.close() outfile.close()
re_errors=re.compile('^\!(.*)$',re.M) re_errors = re.compile('^\!(.*)$', re.M)
re_warnings=re.compile('^LaTeX Warning\:(.*)$',re.M) re_warnings = re.compile('^LaTeX Warning\:(.*)$', re.M)
flog = open(logname) flog = open(logname)
try: try:
loglines = flog.read() loglines = flog.read()
finally: finally:
flog.close() flog.close()
errors=re_errors.findall(loglines) errors = re_errors.findall(loglines)
warnings=re_warnings.findall(loglines) warnings = re_warnings.findall(loglines)
os.unlink(logname) os.unlink(logname)
pdffile=texfile.rsplit('.',1)[0]+'.pdf' pdffile = texfile.rsplit('.', 1)[0] + '.pdf'
if os.path.isfile(pdffile): if os.path.isfile(pdffile):
fpdf = open(pdffile, 'rb') fpdf = open(pdffile, 'rb')
try: try:
@@ -100,31 +101,31 @@ def latex2pdf(latex, pdflatex='pdflatex', passes=3):
def markmin2pdf(text, image_mapper=lambda x: None, extra={}): def markmin2pdf(text, image_mapper=lambda x: None, extra={}):
return latex2pdf(markmin2latex(text,image_mapper=image_mapper, extra=extra)) return latex2pdf(markmin2latex(text, image_mapper=image_mapper, extra=extra))
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys
import doctest import doctest
import markmin2html import markmin2html
if sys.argv[1:2]==['-h']:
if sys.argv[1:2] == ['-h']:
data, warnings, errors = markmin2pdf(markmin2html.__doc__) data, warnings, errors = markmin2pdf(markmin2html.__doc__)
if errors: if errors:
print 'ERRORS:'+'\n'.join(errors) print 'ERRORS:' + '\n'.join(errors)
print 'WARNGINS:'+'\n'.join(warnings) print 'WARNGINS:' + '\n'.join(warnings)
else: else:
print data print data
elif len(sys.argv)>1: elif len(sys.argv) > 1:
fargv = open(sys.argv[1],'rb') fargv = open(sys.argv[1], 'rb')
try: try:
data, warnings, errors = markmin2pdf(fargv.read()) data, warnings, errors = markmin2pdf(fargv.read())
finally: finally:
fargv.close() fargv.close()
if errors: if errors:
print 'ERRORS:'+'\n'.join(errors) print 'ERRORS:' + '\n'.join(errors)
print 'WARNGINS:'+'\n'.join(warnings) print 'WARNGINS:' + '\n'.join(warnings)
else: else:
print data print data
else: else:
doctest.testmod() doctest.testmod()