Use the bundled PDF tools
This commit is contained in:
parent
e3dee4dee7
commit
0d5ea8520a
15 changed files with 42 additions and 954 deletions
|
@ -293,47 +293,6 @@ if(run) {
|
|||
window.onload = function() {
|
||||
Zotero.spawn(function* () {
|
||||
yield Zotero.Schema.schemaUpdatePromise;
|
||||
|
||||
// Download and cache PDF tools for this platform
|
||||
//
|
||||
// To reset, delete test/tests/data/pdf/ directory
|
||||
var cachePDFTools = Zotero.Promise.coroutine(function* () {
|
||||
var path = OS.Path.join(getTestDataDirectory().path, 'pdf');
|
||||
yield OS.File.makeDir(path, { ignoreExisting: true });
|
||||
|
||||
var baseURL = Zotero.Fulltext.pdfToolsDownloadBaseURL;
|
||||
// Point full-text code to the cache directory, so downloads come from there
|
||||
Zotero.Fulltext.pdfToolsDownloadBaseURL = OS.Path.toFileURI(path) + "/";
|
||||
|
||||
// Get latest tools version for the current platform
|
||||
yield Zotero.File.download(baseURL + 'latest.json', OS.Path.join(path, 'latest.json'));
|
||||
|
||||
var platform = Zotero.platform.replace(/\s/g, '-');
|
||||
var version = yield Zotero.Fulltext.getLatestPDFToolsVersion();
|
||||
|
||||
// Create version directory (e.g., data/pdf/3.04) and download tools to it if
|
||||
// they don't exist
|
||||
yield OS.File.makeDir(OS.Path.join(path, version), { ignoreExisting: true });
|
||||
|
||||
var fileName = "pdfinfo-" + platform + (Zotero.isWin ? ".exe" : "");
|
||||
var execPath = OS.Path.join(path, version, fileName);
|
||||
if (!(yield OS.File.exists(execPath))) {
|
||||
yield Zotero.File.download(baseURL + version + "/" + fileName, execPath);
|
||||
}
|
||||
fileName = "pdftotext-" + platform + (Zotero.isWin ? ".exe" : "");;
|
||||
execPath = OS.Path.join(path, version, fileName);
|
||||
if (!(yield OS.File.exists(execPath))) {
|
||||
yield Zotero.File.download(baseURL + version + "/" + fileName, execPath);
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
yield cachePDFTools();
|
||||
}
|
||||
catch (e) {
|
||||
Zotero.logError(e);
|
||||
}
|
||||
|
||||
return mocha.run();
|
||||
})
|
||||
};
|
||||
|
|
|
@ -473,27 +473,6 @@ function getPromiseError(promise) {
|
|||
return promise.thenReturn(false).catch(e => e);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures that the PDF tools are installed, or installs them if not.
|
||||
*
|
||||
* @return {Promise}
|
||||
*/
|
||||
var installPDFTools = Zotero.Promise.coroutine(function* () {
|
||||
if(Zotero.Fulltext.pdfConverterIsRegistered() && Zotero.Fulltext.pdfInfoIsRegistered()) {
|
||||
return;
|
||||
}
|
||||
var version = yield Zotero.Fulltext.getLatestPDFToolsVersion();
|
||||
yield Zotero.Fulltext.downloadPDFTool('info', version);
|
||||
yield Zotero.Fulltext.downloadPDFTool('converter', version);
|
||||
});
|
||||
|
||||
/**
|
||||
* @return {Promise}
|
||||
*/
|
||||
function uninstallPDFTools() {
|
||||
return Zotero.Fulltext.uninstallPDFTools();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the nsIFile corresponding to the test data directory
|
||||
* (i.e., test/tests/data)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue