Account for extensions when creating a LyX archive

LyX archives created after importing a LaTeX document may not
include bibliography style and catalog files. This is because
tex2lyx does not remove extensions, but the lyxpak script
expects files without extensions. So, teach lyxpak to also take
possible extensions into account.

Fixes #13129
This commit is contained in:
Enrico Forestieri 2024-12-05 10:05:53 +01:00
parent 391ed04cd2
commit 556efce34b

View File

@ -183,8 +183,11 @@ def gather_files(curfile, incfiles, lyx2lyx):
file = match.group(3).strip(b'"') file = match.group(3).strip(b'"')
if file.startswith(b"bibtotoc,"): if file.startswith(b"bibtotoc,"):
file = file[9:] file = file[9:]
ext = os.path.splitext(file)[-1]
if ext != b'.bst':
file = file + b'.bst'
if not os.path.isabs(file): if not os.path.isabs(file):
file = os.path.join(curdir, file + b'.bst') file = os.path.join(curdir, file)
if os.path.exists(file): if os.path.exists(file):
incfiles.append(abspath(file)) incfiles.append(abspath(file))
i += 1 i += 1
@ -196,10 +199,12 @@ def gather_files(curfile, incfiles, lyx2lyx):
bibfiles = match.group(3).strip(b'"').split(b',') bibfiles = match.group(3).strip(b'"').split(b',')
j = 0 j = 0
while j < len(bibfiles): while j < len(bibfiles):
if os.path.isabs(bibfiles[j]): file = bibfiles[j]
file = bibfiles[j] + b'.bib' ext = os.path.splitext(file)[-1]
else: if ext != b'.bib':
file = os.path.join(curdir, bibfiles[j] + b'.bib') file = file + b'.bib'
if not os.path.isabs(file):
file = os.path.join(curdir, file)
if os.path.exists(file): if os.path.exists(file):
incfiles.append(abspath(file)) incfiles.append(abspath(file))
j += 1 j += 1