commit 63db2a4aaa8c66cb63b3e6302027d8217b236264 parent 7b469e3d6f16e59910c3bfa7b29d43ff2800f43f Author: Simon Kornblith <simon@simonster.com> Date: Thu, 21 Jul 2011 19:29:32 +0000 Remove unnecessary lastUpdated optimization in translator regexp, allowing lastUpdated to be anywhere in the JSON in connector too Diffstat:
| M | chrome/content/zotero/xpcom/connector/repo.js | | | 14 | +++++--------- |
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/chrome/content/zotero/xpcom/connector/repo.js b/chrome/content/zotero/xpcom/connector/repo.js @@ -86,25 +86,21 @@ Zotero.Repo = new function() { if(!Zotero.isFx) { code = Zotero.Translators.preprocessCode(code); - // make sure the version of the translator we retrieved actually matches what's in the - // repo. if not (because it's from a different source), we won't save it. - var lastUpdatedIndex = code.indexOf('"lastUpdated"'); - if (lastUpdatedIndex == -1) { + var m = infoRe.exec(code); + if (!m) { Zotero.logError(new Error("Invalid or missing translator metadata JSON object for " + translatorID)); callback(false); return; } - // Add 50 characters to clear lastUpdated timestamp and final "}" - var header = code.substr(0, lastUpdatedIndex + 50); - var m = infoRe.exec(header); - if (!m) { + try { + var metadata = JSON.parse(m[0]); + } catch(e) { Zotero.logError(new Error("Invalid or missing translator metadata JSON object for " + translatorID)); callback(false); return; } - var metadata = JSON.parse(m[0]); var translator = Zotero.Translators.getWithoutCode(translatorID); if(metadata.lastUpdated !== translator.lastUpdated) {