On Fri, Mar 13, 2020 at 10:06:48AM +0100, Jürgen Spitzmüller wrote: > I get the following python traceback in master: > > Traceback (most recent call last): > File "/home/juergen/lyx/lyx-devel/lib/scripts/lyxpreview2bitmap.py", > line 594, in <module> > sys.exit(main(sys.argv)[0]) > File "/home/juergen/lyx/lyx-devel/lib/scripts/lyxpreview2bitmap.py", > line 472, in main > latex_status, latex_stdout = run_latex(latex, latex_file, bibtex) > File "/home/juergen/lyx/lyx-devel/lib/scripts/lyxpreview_tools.py", > line 297, in run_latex > if string_in_file("Warning: Citation", log_file): > File "/home/juergen/lyx/lyx-devel/lib/scripts/lyxpreview_tools.py", > line 317, in string_in_file > for line in f.readlines(): > File "/usr/lib64/python3.8/codecs.py", line 322, in decode > (result, consumed) = self._buffer_decode(data, self.errors, final) > UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position > 4180: invalid start byte
Please, try the attached patch. -- Enrico
diff --git a/lib/scripts/legacy_lyxpreview2ppm.py b/lib/scripts/legacy_lyxpreview2ppm.py index a5eb05a129..6e3c349f35 100644 --- a/lib/scripts/legacy_lyxpreview2ppm.py +++ b/lib/scripts/legacy_lyxpreview2ppm.py @@ -154,10 +154,10 @@ def legacy_extract_metrics_info(log_file): return results def extract_resolution(log_file, dpi): - fontsize_re = re.compile("Preview: Fontsize") - magnification_re = re.compile("Preview: Magnification") - extract_decimal_re = re.compile("([0-9\.]+)") - extract_integer_re = re.compile("([0-9]+)") + fontsize_re = re.compile(b"Preview: Fontsize") + magnification_re = re.compile(b"Preview: Magnification") + extract_decimal_re = re.compile(b"([0-9\.]+)") + extract_integer_re = re.compile(b"([0-9]+)") found_fontsize = 0 found_magnification = 0 @@ -167,7 +167,7 @@ def extract_resolution(log_file, dpi): fontsize = 10.0 try: - for line in open(log_file, 'r').readlines(): + for line in open(log_file, 'rb').readlines(): if found_fontsize and found_magnification: break diff --git a/lib/scripts/lyxpreview_tools.py b/lib/scripts/lyxpreview_tools.py index 93964083a5..51917b8cdf 100644 --- a/lib/scripts/lyxpreview_tools.py +++ b/lib/scripts/lyxpreview_tools.py @@ -313,9 +313,9 @@ def run_tex(tex, tex_file): def string_in_file(string, infile): if not os.path.isfile(infile): return False - f = open(infile, 'r') + f = open(infile, 'rb') for line in f.readlines(): - if string in line: + if string.encode() in line: f.close() return True f.close()
-- lyx-devel mailing list lyx-devel@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-devel