On Fri, Feb 17, 2012 at 04:49:58PM +0100, Pavel Sanda wrote:

> Waluyo Adi Siswanto wrote:
> > I have found the cause. It could be a bug?
> > ANY file using SPACE in its filename will fail to export archive.
> > I tried in Ubuntu 11.10 and Windows 7, both fail.
> 
> Yes, the problem is due to spacing in path. Enrico may know whether
> is it easy to fix..

The lyxpak.py script has no problem with spaces in filenames. It is LyX
that is passing a mangled filename. Specifically, LyX calls lyxpak.py
using the mangled name meant for latex processing in the temporary dir.

The attached patch fixes the problem for me.

-- 
Enrico
Index: src/Converter.cpp
===================================================================
--- src/Converter.cpp   (revisione 40771)
+++ src/Converter.cpp   (copia locale)
@@ -50,6 +50,7 @@ string const token_base("$$b");
 string const token_to("$$o");
 string const token_path("$$p");
 string const token_orig_path("$$r");
+string const token_orig_from("$$f");
 string const token_encoding("$$e");
 string const token_latex_encoding("$$E");
 
@@ -412,6 +413,7 @@ bool Converters::convert(Buffer const *
                        command = subst(command, token_to, quoteName(outfile2));
                        command = subst(command, token_path, 
quoteName(onlyPath(infile.absFileName())));
                        command = subst(command, token_orig_path, 
quoteName(onlyPath(orig_from.absFileName())));
+                       command = subst(command, token_orig_from, 
quoteName(onlyFileName(orig_from.absFileName())));
                        command = subst(command, token_encoding, buffer ? 
buffer->params().encoding().iconvName() : string());
                        command = libScriptSearch(command);
 
Index: lib/configure.py
===================================================================
--- lib/configure.py    (revisione 40771)
+++ lib/configure.py    (copia locale)
@@ -920,7 +920,7 @@ def checkConverterEntries():
     # Currently, lyxpak outputs a gzip compressed tar archive on *nix
     # and a zip archive on Windows.
     # So, we configure the appropriate version according to the platform.
-    cmd = r'\converter lyx %s "python -tt $$s/scripts/lyxpak.py $$r/$$i" ""'
+    cmd = r'\converter lyx %s "python -tt $$s/scripts/lyxpak.py $$r/$$f" ""'
     if os.name == 'nt':
         addToRC(r'\Format lyxzip     zip    "LyX Archive (zip)"     "" "" ""  
"document,menu=export"')
         addToRC(cmd % "lyxzip")

Reply via email to