www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 2d0874dd6604f88c365e5319cb91bd4d3687ef6b
parent 43c0ae9e8aee675c35adc65a3592fe7f2acacc19
Author: Dan Stillman <dstillman@zotero.org>
Date:   Mon, 12 Jul 2010 17:45:22 +0000

Remove old Commons code


Diffstat:
Mchrome/content/zotero/xpcom/commons.js | 314+++++++------------------------------------------------------------------------
1 file changed, 25 insertions(+), 289 deletions(-)

diff --git a/chrome/content/zotero/xpcom/commons.js b/chrome/content/zotero/xpcom/commons.js @@ -45,6 +45,30 @@ Zotero.Commons = new function() { return Zotero.Prefs.get("commons.secretKey"); }); + this.RDF_TRANSLATOR = { + 'label': 'Zotero RDF', + 'target': 'rdf', + 'translatorID': '14763d24-8ba0-45df-8f52-b8d1108e7ac9', + 'displayOptions': { + 'exportFileData': true, + 'exportNotes': true + } + }; + + this.RDF_IMPORT_TRANSLATOR = { + 'translatorID': '5e3ad958-ac79-463d-812b-a86a9235c28f', + } + + this.ERROR_BUCKET_EXISTS = 1; + + this.refreshNeeded = true; + + var _buckets = {}; + var _bucketsLoading = false; + var _bucketsLoaded = false; + var _requestingItems = false; + + this.getBuckets = function (callback) { if (!this.enabled) { return _buckets; @@ -148,30 +172,8 @@ Zotero.Commons = new function() { return _buckets; }; - this.RDF_TRANSLATOR = { - 'label': 'Zotero RDF', - 'target': 'rdf', - 'translatorID': '14763d24-8ba0-45df-8f52-b8d1108e7ac9', - 'displayOptions': { - 'exportFileData': true, - 'exportNotes': true - } - }; - - this.RDF_IMPORT_TRANSLATOR = { - 'translatorID': '5e3ad958-ac79-463d-812b-a86a9235c28f', - } - - this.ERROR_BUCKET_EXISTS = 1; - - this.refreshNeeded = true; - - var _buckets = {}; - var _bucketsLoading = false; - var _bucketsLoaded = false; - var _requestingItems = false; - + // outdated this.createBucket = function (item, onBucketQueued, onBucketCreated, waitForCreation) { var headers = { "x-archive-auto-make-bucket":"1", @@ -290,99 +292,6 @@ Zotero.Commons = new function() { } - this.getNewBucketName = function () { - return "zc-" + this.accessKey + "-" + Zotero.ID.getBigInt(9999999999); - } - - - this.getBucketFromItem = function (item) { - return this.getBucketFromItemID(item.id); - } - - - this.getBucketFromItemID = function (itemID) { - for each(var bucket in _buckets) { - if (bucket.item.id == itemID) { - return bucket; - } - } - return false; - } - - - this.uploadItems = function (ids) { - var items = Zotero.Items.get(ids); - if (!items) { - Zotero.debug("No items to upload"); - return; - } - - var itemsToUpload = false; - for (var i=0, len=items.length; i<len; i++) { - if (items[i].isRegularItem()) { - itemsToUpload = true; - break; - } - } - - var pr = Components.classes["@mozilla.org/network/default-prompt;1"] - .getService(Components.interfaces.nsIPrompt); - - if (!itemsToUpload) { - Zotero.debug("No regular items to upload"); - pr.alert("", "Only items with bibliographic metadata can be added to the Zotero Commons."); - return; - } - - var buttonFlags = (pr.BUTTON_POS_0) * (pr.BUTTON_TITLE_IS_STRING) - + (pr.BUTTON_POS_1) * (pr.BUTTON_TITLE_CANCEL); - var index = pr.confirmEx( - "Zotero Commons Upload", - "By uploading items to Zotero Commons you agree to the terms of use at zotero.org and archive.org. " - + "Please make sure metadata for your item(s) is set properly." - + "\n\n " - + "Continue to upload items to the Internet Archive?", - buttonFlags, - "Upload", - null, null, null, {} - ); - - // if user chooses 'cancel', exit - if (index != 0) return; - - - var progressWin = new Zotero.ProgressWindow(); - - var tmpDir = Zotero.getTempDirectory(); - - // Create buckets one at a time, pulling items off a stack - var process = function (items) { - if (!items.length) { - Zotero.debug("Commons: No more items to upload"); - return; - } - - let item = items.shift(); - - // Skip notes and attachments - if (!item.isRegularItem()) { - process(items); - return; - } - - // TODO: check relations table to see if this item already has a bucket - - // TODO: localize - progressWin.changeHeadline("Uploading Items to IA"); - progressWin.addLines([item.getField('title')], [item.getImageSrc()]); - progressWin.show(); - - } - - process(items); - } - - this.createAuthenticatedRequest = function (method, resource, headers, accessKey, secretKey, callback, data, sendAsBinary, noCache) { var url = Zotero.Commons.apiUrl + resource; @@ -487,60 +396,6 @@ Zotero.Commons = new function() { } - /* - function _createUniqueBucket(name, callback) { - var uploadErrorMsg = "An error occurred uploading a file to the Internet Archive"; - - var bucket = new Zotero.Commons.Bucket(name); - - bucket.create(function (success, error) { - if (success) { - callback(name); - return; - } - - if (error == Zotero.Commons.ERROR_BUCKET_EXISTS) { - var maxTries = 5; - - // Append suffixes until we find a unique name - var checkFunc = function (name, suffix, callback) { - var bucket = new Zotero.Commons.Bucket(name); - bucket.create(function (success, error) { - if (success) { - callback(name); - return; - } - - if (error == Zotero.Commons.ERROR_BUCKET_EXISTS) { - maxTries--; - // If we've exceeded maxTries, just use a random suffix - if (maxTries < 1) { - suffix = Zotero.ID.getKey(); - name = name.replace(/\-[0-9]+$/, "-" + suffix); - callback(name); - return; - } - - suffix++; - name = name.replace(/\-[0-9]+$/, "-" + suffix); - checkFunc(name, suffix, callback); - return; - } - - alert(uploadErrorMsg); - }); - } - - checkFunc(name + "-1", 1, callback); - return; - } - - alert(uploadErrorMsg); - }); - } - */ - - this.debug = function (message, level) { Zotero.debug("Commons: " + message, level); } @@ -868,125 +723,6 @@ Zotero.Commons.Bucket.prototype.refreshItems = function (callback) { } -/** - * Get OCRed PDFs from files in this bucket - * - * @param {Function} callback Function to run after adding each file -- - * function is passed the new attachment item - * (which due to a Zotero.Attachments.importFromURL() - * limitation will still be downloading) - */ -Zotero.Commons.Bucket.prototype.syncFiles = function (callback) { - // Find local item if it exists - var rels = Zotero.Relations.getByURIs(null, this.relationPredicate, this.uri); - if (!rels.length) { - Zotero.debug("No local items linked to URI " + this.uri); - return; - } - if (rels.length > 1) { - throw ("Commons: More than one local item linked to remote bucket " + this.name); - } - var item = Zotero.URI.getURIItem(rels[0].subject); - if (!item) { - Zotero.debug("Linked local item not found for URI " + this.uri, 2); - return; - } - - // Get array of possible attachment names - var pdfFileNames = []; - var pdfTitles = []; - var ids = item.getAttachments(); - for each(var id in ids) { - var attachment = Zotero.Items.get(id); - var fileName = attachment.getFilename(); - if (!fileName || !fileName.match(/.+\.pdf$/)) { - continue; - } - pdfFileNames.push(fileName); - pdfTitles.push(attachment.getField('title')); - } - - if (this._requestingItems) { - throw ("Commons: Already requesting items for bucket"); - } - - this._requestingItems = true; - - var self = this; - - // Check for a full-text ("derived" in IA terms) OCRed version of the PDF, - // and if found add it as an attachment to the corresponding Zotero client item - Zotero.Utilities.HTTP.doGet(this.apiURI, function(xmlhttp) { - if (xmlhttp.status != 200) { - Zotero.debug(xmlhttp.status); - Zotero.debug(xmlhttp.responseText); - alert("Error loading data from the Internet Archive"); - self._requestingItems = false; - return; - } - - Zotero.debug(xmlhttp.responseText); - - // TODO: replace original PDF? - - var contents = xmlhttp.responseXML.getElementsByTagName("Contents"); - - // loop through files listed in bucket contents file - for(var i=0, len=contents.length; i<len; i++) { - var IAFileName = contents[i].getElementsByTagName('Key')[0].textContent; - // We care only about OCRed PDFs - if (!IAFileName.match(/\_text.pdf$/)) { - Zotero.debug("Skipping file " + IAFileName); - continue; - } - - // Check if there's a relation for this PDF - - var IAFileURI = self.downloadURI + "/" + IAFileName; - var rels = Zotero.Relations.getByURIs(null, self.relationPredicate, IAFileURI); - if (rels.length) { - Zotero.debug("Commons: " + IAFileName + " has already been downloaded -- skipping"); - continue; - } - - var title = null; - var baseName = null; - for (var i in pdfFileNames) { - var fn = pdfFileNames[i]; - var n = IAFileName.replace("_text.pdf", ".pdf"); - var pos = n.lastIndexOf(fn); - if (pos == -1) { - continue; - } - // Ignore if filename matches in the middle for some crazy reason - if (pos + fn.length != n.length) { - continue; - } - title = Zotero.localeJoin([pdfTitles[i], '(OCR)']); - baseName = fn.match(/(.+)\.pdf/)[1]; - break; - } - - // If not, import PDF - var newAttachment = Zotero.Attachments.importFromURL( - IAFileURI, item.id, title, baseName, null, 'application/pdf' - ); - if (!(newAttachment instanceof Zotero.Item)) { - throw (newAttachment + " is not a Zotero.Item in Zotero.Commons.Bucket.syncFiles()"); - } - - // Add a relation linking the new attachment to the IA file - var uri = Zotero.URI.getItemURI(newAttachment); - Zotero.Relations.add(null, uri, self.relationPredicate, IAFileURI); - - callback(newAttachment); - } - - self._requestingItems = false; - }); -} - - Zotero.Commons.Bucket.prototype.uploadItems = function (ids) { var items = Zotero.Items.get(ids); if (!items) {