Python 3.13 removed the pipes module from the standard library

That module was a wrapper over the popen module and it was scheduled to
be removed in Python 3.11.

This code is also compatible with Python 2.

(cherry picked from commit d06a034578)
This commit is contained in:
José Matos 2024-08-25 10:14:18 +01:00
parent fd9f09e517
commit f95e238ccd
2 changed files with 12 additions and 11 deletions

View File

@ -79,7 +79,7 @@
# If possible, the script will use pdftocairo instead of gs, # If possible, the script will use pdftocairo instead of gs,
# as it's much faster and gives better results. # as it's much faster and gives better results.
import glob, os, pipes, re, sys, tempfile import glob, os, re, subprocess, sys, tempfile
from lyxpreview_tools import check_latex_log, copyfileobj, error, filter_pages,\ from lyxpreview_tools import check_latex_log, copyfileobj, error, filter_pages,\
find_exe, find_exe_or_terminate, join_metrics_and_rename, latex_commands, \ find_exe, find_exe_or_terminate, join_metrics_and_rename, latex_commands, \
@ -281,16 +281,15 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
def crop_files(pnmcrop, basename): def crop_files(pnmcrop, basename):
t = pipes.Template()
t.append('%s -left' % pnmcrop, '--')
t.append('%s -right' % pnmcrop, '--')
for file in glob.glob("%s*.ppm" % basename): for file in glob.glob("%s*.ppm" % basename):
tmp = tempfile.TemporaryFile() tmp = tempfile.TemporaryFile()
new = t.open(file, "r") conv_call = f'{pnmcrop} -left -right -- {file}'
copyfileobj(new, tmp) conv_status = subprocess.run(conv_call, stdout=tmp)
if not new.close():
copyfileobj(tmp, open(file,"wb"), 1) if conv_status:
continue
copyfileobj(tmp, open(file, "wb"), 1)
def legacy_conversion(argv, skipMetrics = False): def legacy_conversion(argv, skipMetrics = False):

View File

@ -72,7 +72,7 @@ What's new
- When exporting to MathML, the argument of the \boxed{} macro is now - When exporting to MathML, the argument of the \boxed{} macro is now
correctly treated as math. correctly treated as math.
- Properly escape special characters (!, @, |) in nomenclature output. - Properly escape special characters (!, @, |) in nomenclature output.
- Handle linguistic structure trees in ePub and PDF (DocBook) output (bug 12372). - Handle linguistic structure trees in ePub and PDF (DocBook) output (bug 12372).
@ -119,6 +119,9 @@ What's new
- Fix possible crash in undo code after inserting note inset over a - Fix possible crash in undo code after inserting note inset over a
multi-paragraph selection. multi-paragraph selection.
- Fix a Python script, used to preview math expressions, that used a
module that is removed in Python 3.13.
* DOCUMENTATION AND LOCALIZATION * DOCUMENTATION AND LOCALIZATION
@ -144,4 +147,3 @@ What's new
* BUILD/INSTALLATION * BUILD/INSTALLATION
- Fix 'make install' target for autotools builds with autoconf >= 2.72. - Fix 'make install' target for autotools builds with autoconf >= 2.72.