Revert to modified 3.02 binaries on Windows

To deal with issues running .vbs scripts on some systems. If the 3.02
binaries haven't been reinstalled since this version, reinstall them as
3.02a automatically or on manual upgrade to fix corrupted binaries from
previous gzip issue.

Other platforms unchanged
This commit is contained in:
Dan Stillman 2015-04-08 14:40:31 -04:00
parent b2d5612526
commit 1e2346eba1
4 changed files with 95 additions and 36 deletions

View file

@ -182,23 +182,34 @@ Zotero_Preferences.Search = {
var infoIsRegistered = Zotero.Fulltext.pdfInfoIsRegistered();
var bothRegistered = converterIsRegistered && infoIsRegistered;
// On Windows, install if not installed or anything other than 3.02a
if (Zotero.isWin) {
var converterVersionAvailable = !converterIsRegistered
|| Zotero.Fulltext.pdfConverterVersion != '3.02a';
var infoVersionAvailable = !infoIsRegistered
|| Zotero.Fulltext.pdfInfoVersion != '3.02a';
var bothAvailable = converterVersionAvailable && infoVersionAvailable;
latestVersion = "3.02a";
}
// Install if not installed, version unknown, outdated, or
// Xpdf 3.02/3.04 (to upgrade to Poppler),
var converterVersionAvailable = (!converterIsRegistered ||
Zotero.Fulltext.pdfConverterVersion == 'UNKNOWN'
|| latestVersion > Zotero.Fulltext.pdfConverterVersion
|| (!latestVersion.startsWith('3.02')
&& Zotero.Fulltext.pdfConverterVersion.startsWith('3.02'))
|| (!latestVersion.startsWith('3.02') && latestVersion != '3.04'
&& Zotero.Fulltext.pdfConverterVersion == '3.04'));
var infoVersionAvailable = (!infoIsRegistered ||
Zotero.Fulltext.pdfInfoVersion == 'UNKNOWN'
|| latestVersion > Zotero.Fulltext.pdfInfoVersion
|| (!latestVersion.startsWith('3.02')
&& Zotero.Fulltext.pdfInfoVersion.startsWith('3.02'))
|| (!latestVersion.startsWith('3.02') && latestVersion != '3.04'
&& Zotero.Fulltext.pdfInfoVersion == '3.04'));
var bothAvailable = converterVersionAvailable && infoVersionAvailable;
else {
var converterVersionAvailable = (!converterIsRegistered ||
Zotero.Fulltext.pdfConverterVersion == 'UNKNOWN'
|| latestVersion > Zotero.Fulltext.pdfConverterVersion
|| (!latestVersion.startsWith('3.02')
&& Zotero.Fulltext.pdfConverterVersion.startsWith('3.02'))
|| (!latestVersion.startsWith('3.02') && latestVersion != '3.04'
&& Zotero.Fulltext.pdfConverterVersion == '3.04'));
var infoVersionAvailable = (!infoIsRegistered ||
Zotero.Fulltext.pdfInfoVersion == 'UNKNOWN'
|| latestVersion > Zotero.Fulltext.pdfInfoVersion
|| (!latestVersion.startsWith('3.02')
&& Zotero.Fulltext.pdfInfoVersion.startsWith('3.02'))
|| (!latestVersion.startsWith('3.02') && latestVersion != '3.04'
&& Zotero.Fulltext.pdfInfoVersion == '3.04'));
var bothAvailable = converterVersionAvailable && infoVersionAvailable;
}
// Up to date -- disable update button
if (!converterVersionAvailable && !infoVersionAvailable) {

View file

@ -142,7 +142,7 @@ var Zotero_RecognizePDF = new function() {
var {exec, args} = Zotero.Fulltext.getPDFConverterExecAndArgs();
args.push('-enc', 'UTF-8', '-nopgbrk', '-layout', '-l', pages, file.path, cacheFile.path);
Zotero.debug("RecognizePDF: Running " + exec + " " + args.map(arg => "'" + arg + "'").join(" "));
Zotero.debug("RecognizePDF: Running " + exec.path + " " + args.map(arg => "'" + arg + "'").join(" "));
return Zotero.Utilities.Internal.exec(exec, args).then(function() {
if(!cacheFile.exists()) {

View file

@ -191,7 +191,6 @@ Zotero.Fulltext = new function(){
Components.utils.import("resource://gre/modules/FileUtils.jsm");
Zotero.debug("Saving " + uri.spec + " to " + file.path);
var output = FileUtils.openSafeFileOutputStream(file);
NetUtil.asyncFetch(uri, function (is, status) {
if (!Components.isSuccessCode(status)) {
Zotero.debug(status, 1);
@ -204,9 +203,28 @@ Zotero.Fulltext = new function(){
Zotero.File.putContentsAsync(file, is)
.then(function () {
// Delete if too small, since a 404 might not be detected above
if (file.fileSize < 50000) {
var msg = file.path + " is too small -- deleting";
Zotero.debug(msg, 1);
Components.utils.reportError(msg);
try {
file.remove(false);
}
catch (e) {
Zotero.debug(e, 1);
Components.utils.reportError(e);
}
if (callback) {
callback(false);
}
return;
}
var scriptExt = _getScriptExtension();
// On Windows, write out script to hide pdftotext console window
if (tool == 'converter') {
// TEMP: disabled
if (false && tool == 'converter') {
if (Zotero.isWin) {
var content = Zotero.File.getContentsFromURL('resource://zotero/hide.' + scriptExt);
var scriptFile = Zotero.getTempDirectory();
@ -215,7 +233,8 @@ Zotero.Fulltext = new function(){
}
}
// Write out output redirection script for pdfinfo
else if (tool == 'info') {
// TEMP: disabled on Windows
else if (!Zotero.isWin && tool == 'info') {
var content = Zotero.File.getContentsFromURL('resource://zotero/redirect.' + scriptExt);
var scriptFile = Zotero.getTempDirectory();
scriptFile.append('pdfinfo.' + scriptExt);
@ -246,6 +265,10 @@ Zotero.Fulltext = new function(){
// Write the version number to a file
var versionFile = destDir.clone();
versionFile.append(fileName + '.version');
// TEMP
if (Zotero.isWin) {
version = '3.02a';
}
Zotero.File.putContents(versionFile, version + '');
Zotero.Fulltext.registerPDFTool(tool);
@ -327,7 +350,8 @@ Zotero.Fulltext = new function(){
// If scripts exist, use those instead
switch (tool) {
case 'converter':
if (Zotero.isWin) {
// TEMP: disabled
if (false && Zotero.isWin) {
var script = Zotero.getZoteroDirectory();
script.append('pdftotext.' + _getScriptExtension())
if (script.exists()) {

View file

@ -1604,27 +1604,51 @@ Zotero.Schema = new function(){
return;
}
if (Zotero.Fulltext.pdfInfoIsRegistered()) {
let currentVersion = Zotero.Fulltext.pdfInfoVersion;
if (currentVersion < availableVersion || currentVersion.startsWith('3.02')
|| currentVersion == 'UNKNOWN') {
// TEMP
if (Zotero.isWin) {
if (Zotero.Fulltext.pdfInfoIsRegistered()) {
if (Zotero.Fulltext.pdfInfoVersion != '3.02a') {
installInfo = true;
}
}
// Install missing component if one is installed
else if (Zotero.Fulltext.pdfConverterIsRegistered()) {
installInfo = true;
}
}
// Install missing component if one is installed
else if (Zotero.Fulltext.pdfConverterIsRegistered()) {
installInfo = true;
}
if (Zotero.Fulltext.pdfConverterIsRegistered()) {
let currentVersion = Zotero.Fulltext.pdfConverterVersion;
if (currentVersion < availableVersion || currentVersion.startsWith('3.02')
|| currentVersion == 'UNKNOWN') {
if (Zotero.Fulltext.pdfConverterIsRegistered()) {
if (Zotero.Fulltext.pdfConverterVersion != '3.02a') {
installConverter = true;
}
}
// Install missing component if one is installed
else if (Zotero.Fulltext.pdfInfoIsRegistered()) {
installConverter = true;
}
availableVersion = '3.02';
}
// Install missing component if one is installed
else if (Zotero.Fulltext.pdfInfoIsRegistered()) {
installConverter = true;
else {
if (Zotero.Fulltext.pdfInfoIsRegistered()) {
let currentVersion = Zotero.Fulltext.pdfInfoVersion;
if (currentVersion < availableVersion || currentVersion.startsWith('3.02')
|| currentVersion == 'UNKNOWN') {
installInfo = true;
}
}
// Install missing component if one is installed
else if (Zotero.Fulltext.pdfConverterIsRegistered()) {
installInfo = true;
}
if (Zotero.Fulltext.pdfConverterIsRegistered()) {
let currentVersion = Zotero.Fulltext.pdfConverterVersion;
if (currentVersion < availableVersion || currentVersion.startsWith('3.02')
|| currentVersion == 'UNKNOWN') {
installConverter = true;
}
}
// Install missing component if one is installed
else if (Zotero.Fulltext.pdfInfoIsRegistered()) {
installConverter = true;
}
}
let prefKey = 'pdfToolsInstallError';