X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fscripts%2Flyxpreview2bitmap.py;h=eee000deeae33840f085d6554a0a82305b811850;hb=8d0d3ea0905172b4a1fba7fbfadba83ff61671c6;hp=11f2ba9f69fd016de91813d50c1f80e90ad3a9d8;hpb=c546977c6eb7d780a2995b57c468f1e935fc9fe3;p=lyx.git diff --git a/lib/scripts/lyxpreview2bitmap.py b/lib/scripts/lyxpreview2bitmap.py index 11f2ba9f69..eee000deea 100755 --- a/lib/scripts/lyxpreview2bitmap.py +++ b/lib/scripts/lyxpreview2bitmap.py @@ -77,14 +77,16 @@ from __future__ import print_function -import getopt, glob, os, re, shutil, sys +import getopt, glob, os, re, shutil, sys, tempfile + +import lyxpreview_tools from legacy_lyxpreview2ppm import extract_resolution, legacy_conversion_step1 from lyxpreview_tools import bibtex_commands, check_latex_log, copyfileobj, \ error, filter_pages, find_exe, find_exe_or_terminate, \ join_metrics_and_rename, latex_commands, latex_file_re, make_texcolor, \ - mkstemp, pdflatex_commands, progress, run_command, run_latex, run_tex, \ + pdflatex_commands, progress, run_command, run_latex, run_tex, \ warning, write_metrics_info PY2 = sys.version_info[0] == 2 @@ -167,7 +169,7 @@ def fix_latex_file(latex_file, pdf_output): def_re = re.compile(b"(\\\\newcommandx|\\\\global\\\\long\\\\def)" b"(\\\\[a-zA-Z]+)") - tmp = mkstemp() + tmp = tempfile.TemporaryFile() changed = False macros = [] @@ -283,7 +285,7 @@ def find_ps_pages(dvi_file): # Use page ranges, as a list of pages could exceed command line # maximum length (especially under Win32) - for index in xrange(1, page_index + 1): + for index in range(1, page_index + 1): if (not index in ps_or_pdf_pages) and skip: # We were skipping pages but current page shouldn't be skipped. # Add this page to -pp, it could stay alone or become the @@ -343,7 +345,6 @@ def main(argv): elif opt == "--bg": bg_color = val elif opt in ("-d", "--debug"): - import lyxpreview_tools lyxpreview_tools.debug = True elif opt == "--dpi": try: @@ -361,7 +362,6 @@ def main(argv): elif opt in ("--png", "--ppm"): output_format = opt[2:] elif opt in ("-v", "--verbose"): - import lyxpreview_tools lyxpreview_tools.verbose = True # Determine input file @@ -372,20 +372,28 @@ def main(argv): input_path = args[0] dir, latex_file = os.path.split(input_path) + # Check for the input file + if not os.path.exists(input_path): + error('File "%s" not found.' % input_path) + if len(dir) != 0: + os.chdir(dir) + + if lyxpreview_tools.verbose: + f_out = open('verbose.txt', 'a') + sys.stdout = f_out + sys.stderr = f_out + # Echo the settings + progress("Running Python %s" % str(sys.version_info[:3])) progress("Starting %s..." % script_name) + if os.name == "nt": + progress("Use win32_modules: %d" % lyxpreview_tools.use_win32_modules) progress("Output format: %s" % output_format) progress("Foreground color: %s" % fg_color) progress("Background color: %s" % bg_color) progress("Resolution (dpi): %s" % dpi) progress("File to process: %s" % input_path) - # Check for the input file - if not os.path.exists(input_path): - error('File "%s" not found.' % input_path) - if len(dir) != 0: - os.chdir(dir) - # For python > 2 convert strings to bytes if not PY2: fg_color = bytes(fg_color, 'ascii') @@ -394,6 +402,11 @@ def main(argv): fg_color_dvipng = make_texcolor(fg_color, False) bg_color_dvipng = make_texcolor(bg_color, False) + # For python > 2 convert bytes to string + if not PY2: + fg_color_dvipng = fg_color_dvipng.decode('ascii') + bg_color_dvipng = bg_color_dvipng.decode('ascii') + # External programs used by the script. latex = find_exe_or_terminate(latex or latex_commands) bibtex = find_exe(bibtex or bibtex_commands)