From 3bac0dd68a80175184b5e0c5432abba5add1d506 Mon Sep 17 00:00:00 2001 From: Dimka Date: Wed, 29 May 2019 20:25:08 +0300 Subject: [PATCH] Log pathnames support Correctly match log-lines for long filepaths --- latexrun | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/latexrun b/latexrun index b669d9f..bc34648 100755 --- a/latexrun +++ b/latexrun @@ -860,19 +860,20 @@ class LaTeX(Task): really early. The output name may be None if there were no pages of output. """ + stdout = stdout.replace('\n', '').replace('\r', '') jobname = outname = None - for m in re.finditer(r'^Transcript written on "?(.*)\.log"?\.$', stdout, + for m in re.finditer(r'Transcript written on "?(.*)\.log"?\.', stdout, re.MULTILINE | re.DOTALL): jobname = m.group(1).replace('\n', '') if jobname is None: print(stdout, file=sys.stderr) raise TaskError('failed to extract job name from latex log') - for m in re.finditer(r'^Output written on "?(.*\.[^ ."]+)"? \([0-9]+ page', + for m in re.finditer(r'Output written on "?(.*\.[^ ."]+)"?\s+\([0-9]+ page', stdout, re.MULTILINE | re.DOTALL): outname = m.group(1).replace('\n', '') if outname is None and not \ - re.search(r'^No pages of output\.$|^! Emergency stop\.$' - r'|^! ==> Fatal error occurred, no output PDF file produced!$', + re.search(r'No pages of output\.$|^! Emergency stop\.' + r'|! ==> Fatal error occurred, no output PDF file produced!', stdout, re.MULTILINE): print(stdout, file=sys.stderr) raise TaskError('failed to extract output name from latex log')