X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fscripts%2Flyxpreview_tools.py;h=91cc4d6ab19a9cb719f9208df19f71df70ee3d19;hb=aed458f0079a3a90091205298076a6a79e0b3069;hp=b7a89dc92b48fccd18303d05aa6ba014f519490e;hpb=11f2a59ce90b406537ff3379276d5e0bb1bf6c37;p=lyx.git diff --git a/lib/scripts/lyxpreview_tools.py b/lib/scripts/lyxpreview_tools.py index b7a89dc92b..91cc4d6ab1 100644 --- a/lib/scripts/lyxpreview_tools.py +++ b/lib/scripts/lyxpreview_tools.py @@ -10,7 +10,7 @@ # Paul A. Rubin, rubin@msu.edu. # A repository of the following functions, used by the lyxpreview2xyz scripts. -# copyfileobj, error, find_exe, find_exe_or_terminate, make_texcolor, mkstemp, +# copyfileobj, error, find_exe, find_exe_or_terminate, make_texcolor, # progress, run_command, run_latex, warning # Requires python 2.4 or later (subprocess module). @@ -72,7 +72,7 @@ def error(message): def make_texcolor(hexcolor, graphics): # Test that the input string contains 6 hexadecimal chars. - hexcolor_re = re.compile("^[0-9a-fA-F]{6}$") + hexcolor_re = re.compile(b"^[0-9a-fA-F]{6}$") if not hexcolor_re.match(hexcolor): error("Cannot convert color '%s'" % hexcolor) @@ -81,9 +81,9 @@ def make_texcolor(hexcolor, graphics): blue = float(int(hexcolor[4:6], 16)) / 255.0 if graphics: - return "%f,%f,%f" % (red, green, blue) + return b"%f,%f,%f" % (red, green, blue) else: - return "rgb %f %f %f" % (red, green, blue) + return b"rgb %f %f %f" % (red, green, blue) def find_exe(candidates): @@ -196,16 +196,6 @@ def run_command(cmd, stderr2stdout = True): return run_command_popen(cmd, stderr2stdout) -def get_version_info(): - version_re = re.compile("([0-9])\.([0-9])") - - match = version_re.match(sys.version) - if match == None: - error("Unable to extract version info from 'sys.version'") - - return int(match.group(1)), int(match.group(2)) - - def copyfileobj(fsrc, fdst, rewind=0, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" if rewind: @@ -219,56 +209,13 @@ def copyfileobj(fsrc, fdst, rewind=0, length=16*1024): fdst.write(buf) -class TempFile: - """clone of tempfile.TemporaryFile to use with python < 2.0.""" - # Cache the unlinker so we don't get spurious errors at shutdown - # when the module-level "os" is None'd out. Note that this must - # be referenced as self.unlink, because the name TempFile - # may also get None'd out before __del__ is called. - unlink = os.unlink - - def __init__(self): - self.filename = tempfile.mktemp() - self.file = open(self.filename,"w+b") - self.close_called = 0 - - def close(self): - if not self.close_called: - self.close_called = 1 - self.file.close() - self.unlink(self.filename) - - def __del__(self): - self.close() - - def read(self, size = -1): - return self.file.read(size) - - def write(self, line): - return self.file.write(line) - - def seek(self, offset): - return self.file.seek(offset) - - def flush(self): - return self.file.flush() - - -def mkstemp(): - """create a secure temporary file and return its object-like file""" - major, minor = get_version_info() - - if major >= 2 and minor >= 0: - return tempfile.TemporaryFile() - else: - return TempFile() - def write_metrics_info(metrics_info, metrics_file): metrics = open(metrics_file, 'w') for metric in metrics_info: metrics.write("Snippet %s %f\n" % metric) metrics.close() + # Reads a .tex files and create an identical file but only with # pages whose index is in pages_to_keep def filter_pages(source_path, destination_path, pages_to_keep):