commit 856fb80fd6d8259cf31dfbc000e35b4b54b6e5fa
parent 0e80fb29c472ad3a4fe28246c56c748a37c3bc99
Author: Matt Burton <mcburton@gmail.com>
Date: Fri, 5 Mar 2010 16:02:09 +0000
Created Pubget translator.
Diffstat:
1 file changed, 63 insertions(+), 0 deletions(-)
diff --git a/translators/Pubget.js b/translators/Pubget.js
@@ -0,0 +1,62 @@
+{
+ "translatorID":"f520b141-9ce8-42f4-93ec-a39e375a9516",
+ "translatorType":4,
+ "label":"Pubget",
+ "creator":"Matt Burton",
+ "target":"https?://pubget\\.com/(search|journal|site/search)",
+ "minVersion":"1.0.0b4.r5",
+ "maxVersion":"",
+ "priority":100,
+ "inRepository":true,
+ "lastUpdated":"2010-03-05 11:01:00"
+}
+
+
+function detectWeb (doc, url) {
+ var namespace = doc.documentElement.namespaceURI;
+ var nsResolver = namespace ? function(prefix) {
+ if (prefix == 'x') return namespace; else return null;
+ } : null;
+
+ var results = doc.evaluate("//div[@id = 'resultlist']", doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext();
+ if (results){
+ if (doc.evaluate("//ul[@id='resultul']//li", doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
+ return "multiple";
+ }
+
+ }
+}
+
+function doWeb( doc, url) {
+ var namespace = doc.documentElement.namespaceURI;
+ var nsResolver = namespace ? function(prefix) {
+ if (prefix == 'x') return namespace; else return null;
+ } : null;
+
+ var items = {};
+ var titles = doc.evaluate("//a[@class='title']", doc, nsResolver, XPathResult.ANY_TYPE, null);
+ var elmnt;
+ while(elmnt = titles.iterateNext()){
+ items[elmnt.href] = elmnt.textContent;
+ }
+
+ items = Zotero.selectItems(items);
+ var urls = [];
+ for (item in items) {
+ item = "http://pubget.com/site/send_medline/"+item.match(/paper\/(pgtmp_[a-z0-9]+|[0-9]+)/)[1];
+ urls.push(item);
+
+
+ }
+ Zotero.Utilities.doGet(urls, function(text){
+ var translator = Zotero.loadTranslator("import");
+ translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7");
+ translator.setString(text);
+ translator.setHandler("itemDone", function(obj, item){
+ // do anything needing done to the item
+ item.complete();
+ });
+ translator.translate();
+ }, function(){Zotero.done();});
+
+}
+\ No newline at end of file