Cscott has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/98559


Change subject: Make filenames "safe" before passing to image converters.
......................................................................

Make filenames "safe" before passing to image converters.

Parentheses in the filename were causing issues with the spawn of exiftool.

Change-Id: Ib0bdd7826f425b1b83eb4be89632595eb9bf730c
---
M lib/index.js
1 file changed, 14 insertions(+), 10 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator/latex_renderer
 refs/changes/59/98559/1

diff --git a/lib/index.js b/lib/index.js
index 3b3a49a..1c41ff5 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -679,6 +679,18 @@
                }
                // conversion/rename happens in parallel (new promise 'pp')
                var pp = when.resolve({ imagedir: imagedir, filename: filename 
});
+               // rename file if it is not TeX safe.
+               pp = pp.then(function(info) {
+                       var safe = info.filename.replace(/[^A-Za-z0-9.:]+/g, 
'-');
+                       // only one '.' allowed
+                       safe = safe.split(/(?=[.][^.]+$)/);
+                       safe = safe[0].replace(/[.]/g, '-') + (safe[1] || '');
+                       // rename the file if necessary
+                       return (safe === info.filename) ? safe :
+                               renameFile(imagedir, info.filename, safe);
+               }).then(function(newname) {
+                       return { imagedir: imagedir, filename: newname };
+               });
                // convert gifs to pngs
                if (val.mime === 'image/gif') {
                        pp = pp.then(convertGif);
@@ -691,17 +703,9 @@
                if (val.mime === 'image/jpeg') {
                        pp = pp.then(convertJpg);
                }
-               // rename file if it is not TeX safe.
+               // record the final filename
                pp = pp.then(function(info) {
-                       var safe = info.filename.replace(/[^A-Za-z0-9.:]+/g, 
'-');
-                       // only one '.' allowed
-                       safe = safe.split(/(?=[.][^.]+$)/);
-                       safe = safe[0].replace(/[.]/g, '-') + (safe[1] || '');
-                       // rename the file if necessary
-                       return (safe === info.filename) ? safe :
-                               renameFile(imagedir, info.filename, safe);
-               }).then(function(newname) {
-                       imagemap.set(key, newname);
+                       imagemap.set(key, info.filename);
                });
                p = when.join(p, pp); // serialize completion
        }).then(function() {

-- 
To view, visit https://gerrit.wikimedia.org/r/98559
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib0bdd7826f425b1b83eb4be89632595eb9bf730c
Gerrit-PatchSet: 1
Gerrit-Project: 
mediawiki/extensions/Collection/OfflineContentGenerator/latex_renderer
Gerrit-Branch: master
Gerrit-Owner: Cscott <canan...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to