Created
December 15, 2011 19:06
-
-
Save rmzelle/1482355 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "translatorID": "1a3e63b2-0adf-4c8e-928b-c58c2594b45d", | |
| "translatorType": 4, | |
| "label": "BioMed Central and More", | |
| "creator": "Ben Parr and Avram Lyon", | |
| "target": "^https?://[^/]*(jcheminf|jcmr-online|respiratory-research|bio-diglib|nuclear-receptor|medimmunol|kinetoplastids|filariajournal|cellandchromosome|actavetscand|aidsrestherapy|almob|ann-clinmicrob|annals-general-psychiatry|asir-journal|arthritis-research|apfmj|anzhealthpolicy|behavioralandbrainfunctions|biodatamining|biology-direct|biomagres|biomedical-engineering-online|bpsmedicine|biotechnologyforbiofuels|biomedcentral|breast-cancer-research|cancerci|cbmjournal|cardiab|cardiovascularultrasound|casesjournal|lipidsignaling.cbdjournals|biosignaling|celldiv|cerebrospinalfluidresearch|journal.chemistrycentral|capmh|cmjournal|chiroandosteo|clinicalmolecularallergy|cpementalhealth|comparative-hepatology|conflictandhealth|resource-allocation|coughjournal|ccforum|cytojournal|diagnosticpathology|dynamic-med|ete-online|ehjournal|epi-perspectives|epigeneticsandchromatin|fibrogenesis|frontiersinzoology|gvt-journal|genomebiology|genomemedicine|geochemicaltransactions|globalizationandhealth|gutpathogens|harmreductionjournal|head-face-med|hqlo|health-policy-systems|human-resources-health|immunityageing|immunome-research|implementationscience|infectagentscancer|intarchmed|internationalbreastfeedingjournal|equityhealthj|ijbnpa|ij-healthgeographics|ijmhs|issoonline|jautoimdis|jbioleng|jbiol|j-biomed-discovery|jbppni|carcinogenesis|cardiothoracicsurgery|jcmr-online|jcircadianrhythms|ethnobiomed|jexpclinassistreprod|jeccr|jfootankleres|jhoonline|jibtherapies|journal-inflammation|jmedicalcasereports|jmolecularsignaling|jnanobiotechnology|jnrbm|jneuroengrehab|jneuroinflammation|occup-med|josr-online|jissn|translational-medicine|traumamanagement|lipidworld|malariajournal|microbialcellfactories|molecularbrain|molecular-cancer|molecularcytogenetics|molecularneurodegeneration|molecularpain|neuraldevelopment|nonlinearbiomedphys|nutritionandmetabolism|nutritionj|ojrd|om-pc|parasitesandvectors|particleandfibretoxicology|pathogeneticsjournal|pssjournal|ped-rheum|peh-med|plantmethods|pophealthmetrics|proteomesci|ro-journal|rbej|reproductive-health-journal|respiratory-research|retrovirology|salinesystems|the-scientist|scoliosisjournal|scfbm|substanceabusepolicy|tbiomed|thrombosisjournal|thyroidresearchjournal|tobaccoinduceddiseases|trialsjournal|urooncologyjournal|virologyj|wjes|wjso)\\.(com|org|net)", | |
| "minVersion": "2.1.9", | |
| "maxVersion": null, | |
| "priority": 100, | |
| "inRepository": true, | |
| "browserSupport": "g", | |
| "lastUpdated": "2011-12-12 07:00:00" | |
| } | |
| /* FW LINE 51:6e1628381879 */ function flatten(c){var b=new Array();for(var d in c){var e=c[d];if(e instanceof Array){b=b.concat(flatten(e))}else{b.push(e)}}return b}var FW={_scrapers:new Array()};FW._Base=function(){this.callHook=function(b,c,e,a){if(typeof this["hooks"]==="object"){var d=this["hooks"][b];if(typeof d==="function"){d(c,e,a)}}};this.evaluateThing=function(f,e,c){var b=typeof f;if(b==="string"){return f}else{if(b==="object"){if(f instanceof Array){var d=this.evaluateThing;var a=f.map(function(g){return d(g,e,c)});return flatten(a)}else{return f.evaluate(e,c)}}else{if(b==="function"){return f(e,c)}else{return undefined}}}}};FW.Scraper=function(a){FW._scrapers.push(new FW._Scraper(a))};FW._Scraper=function(a){for(x in a){this[x]=a[x]}this._singleFieldNames=["abstractNote","applicationNumber","archive","archiveLocation","artworkMedium","artworkSize","assignee","audioFileType","audioRecordingType","billNumber","blogTitle","bookTitle","callNumber","caseName","code","codeNumber","codePages","codeVolume","committee","company","conferenceName","country","court","date","dateDecided","dateEnacted","dictionaryTitle","distributor","docketNumber","documentNumber","DOI","edition","encyclopediaTitle","episodeNumber","extra","filingDate","firstPage","forumTitle","genre","history","institution","interviewMedium","ISBN","ISSN","issue","issueDate","issuingAuthority","journalAbbreviation","label","language","legalStatus","legislativeBody","letterType","libraryCatalog","manuscriptType","mapType","medium","meetingName","nameOfAct","network","number","numberOfVolumes","numPages","pages","patentNumber","place","postType","presentationType","priorityNumbers","proceedingsTitle","programTitle","programmingLanguage","publicLawNumber","publicationTitle","publisher","references","reportNumber","reportType","reporter","reporterVolume","rights","runningTime","scale","section","series","seriesNumber","seriesText","seriesTitle","session","shortTitle","studio","subject","system","thesisType","title","type","university","url","version","videoRecordingType","volume","websiteTitle","websiteType"];this._makeAttachments=function(q,b,f,s){if(f instanceof Array){f.forEach(function(k){this._makeAttachments(q,b,k,s)},this)}else{if(typeof f==="object"){var p=f.urls||f.url;var m=f.types||f.type;var e=f.titles||f.title;var h=this.evaluateThing(p,q,b);var o=this.evaluateThing(e,q,b);var r=this.evaluateThing(m,q,b);var l=(r instanceof Array);var n=(o instanceof Array);if(!(h instanceof Array)){h=[h]}for(var j in h){var c=h[j];var g;var d;if(l){g=r[j]}else{g=r}if(n){d=o[j]}else{d=o}s.attachments.push({url:c,title:d,type:g})}}}};if(this.itemTrans!==undefined){this.makeItems=this.itemTrans.makeItems}else{this.makeItems=function(o,b,m,c,l){var q=new Zotero.Item(this.itemType);q.url=b;for(var h in this._singleFieldNames){var n=this._singleFieldNames[h];if(this[n]){var g=this.evaluateThing(this[n],o,b);if(g instanceof Array){q[n]=g[0]}else{q[n]=g}}}var r=["creators","tags"];for(var f in r){var p=r[f];var d=this.evaluateThing(this[p],o,b);if(d){for(var e in d){q[p].push(d[e])}}}this._makeAttachments(o,b,this["attachments"],q);c(q,this,o,b);l([q])}}};FW._Scraper.prototype=new FW._Base;FW.MultiScraper=function(a){FW._scrapers.push(new FW._MultiScraper(a))};FW._MultiScraper=function(a){for(x in a){this[x]=a[x]}this._mkSelectItems=function(e,d){var b=new Object;for(var c in e){b[d[c]]=e[c]}return b};this._selectItems=function(d,c,e){var b=new Array();Zotero.selectItems(this._mkSelectItems(d,c),function(f){for(var g in f){b.push(g)}e(b)})};this._mkAttachments=function(g,d,f){var b=this.evaluateThing(this["attachments"],g,d);var c=new Object();if(b){for(var e in f){c[f[e]]=b[e]}}return c};this._makeChoices=function(f,p,c,d,h){if(f instanceof Array){f.forEach(function(k){this._makeTitlesUrls(k,p,c,d,h)},this)}else{if(typeof f==="object"){var m=f.urls||f.url;var e=f.titles||f.title;var n=this.evaluateThing(m,p,c);var j=this.evaluateThing(e,p,c);var l=(j instanceof Array);if(!(n instanceof Array)){n=[n]}for(var g in n){var b=n[g];var o;if(l){o=j[g]}else{o=j}h.push(b);d.push(o)}}}};this.makeItems=function(j,b,g,c,f){if(this.beforeFilter){var k=this.beforeFilter(j,b);if(k!=b){this.makeItems(j,k,g,c,f);return}}var e=[];var h=[];this._makeChoices(this["choices"],j,b,e,h);var d=this._mkAttachments(j,b,h);this._selectItems(e,h,function(m){if(!m){f([])}else{var l=[];var n=this.itemTrans;Zotero.Utilities.processDocuments(m,function(q){var p=q.documentURI;var o=n;if(o===undefined){o=FW.getScraper(q,p)}if(o===undefined){}else{o.makeItems(q,p,d[p],function(r){l.push(r);c(r,o,q,p)},function(){})}},function(){f(l)})}})}};FW._MultiScraper.prototype=new FW._Base;FW.DelegateTranslator=function(a){return new FW._DelegateTranslator(a)};FW._DelegateTranslator=function(a){for(x in a){this[x]=a[x]}this._translator=Zotero.loadTranslator(this.translatorType);this._translator.setTranslator(this.translatorId);this.makeItems=function(g,d,b,f,c){var e;Zotero.Utilities.HTTP.doGet(d,function(h){this._translator.setHandler("itemDone",function(k,j){e=j;if(b){j.attachments=b}});if(this.preProcess){h=this.preProcess(h)}this._translator.setString(h);this._translator.translate();f(e)},function(){c([e])})}};FW.DelegateTranslator.prototype=new FW._Scraper;FW._StringMagic=function(){this._filters=new Array();this.addFilter=function(a){this._filters.push(a);return this};this.split=function(a){return this.addFilter(function(b){return b.split(a).filter(function(c){return(c!="")})})};this.replace=function(c,b,a){return this.addFilter(function(d){if(d.match(c)){return d.replace(c,b,a)}else{return d}})};this.prepend=function(a){return this.replace(/^/,a)};this.append=function(a){return this.replace(/$/,a)};this.remove=function(b,a){return this.replace(b,"",a)};this.trim=function(){return this.addFilter(function(a){return Zotero.Utilities.trim(a)})};this.trimInternal=function(){return this.addFilter(function(a){return Zotero.Utilities.trimInternal(a)})};this.match=function(a,b){if(!b){b=0}return this.addFilter(function(d){var c=d.match(a);if(c===undefined||c===null){return undefined}else{return c[b]}})};this.cleanAuthor=function(b,a){return this.addFilter(function(c){return Zotero.Utilities.cleanAuthor(c,b,a)})};this.key=function(a){return this.addFilter(function(b){return b[a]})};this.capitalizeTitle=function(){return this.addFilter(function(a){return Zotero.Utilities.capitalizeTitle(a)})};this.unescapeHTML=function(){return this.addFilter(function(a){return Zotero.Utilities.unescapeHTML(a)})};this.unescape=function(){return this.addFilter(function(a){return unescape(a)})};this._applyFilters=function(c,e){for(i in this._filters){c=flatten(c);c=c.filter(function(a){return((a!==undefined)&&(a!==null))});for(var d=0;d<c.length;d++){try{if((c[d]===undefined)||(c[d]===null)){continue}else{c[d]=this._filters[i](c[d],e)}}catch(b){c[d]=undefined;Zotero.debug("Caught exception "+b+"on filter: "+this._filters[i])}}c=c.filter(function(a){return((a!==undefined)&&(a!==null))})}return c}};FW.PageText=function(){return new FW._PageText()};FW._PageText=function(){this._filters=new Array();this.evaluate=function(c){var b=[c.documentElement.innerHTML];b=this._applyFilters(b,c);if(b.length==0){return false}else{return b}}};FW._PageText.prototype=new FW._StringMagic();FW.Url=function(){return new FW._Url()};FW._Url=function(){this._filters=new Array();this.evaluate=function(d,c){var b=[c];b=this._applyFilters(b,d);if(b.length==0){return false}else{return b}}};FW._Url.prototype=new FW._StringMagic();FW.Xpath=function(a){return new FW._Xpath(a)};FW._Xpath=function(a){this._xpath=a;this._filters=new Array();this.text=function(){var b=function(c){if(typeof c==="object"&&c.textContent){return c.textContent}else{return c}};this.addFilter(b);return this};this.sub=function(b){var c=function(f,e){var d=e.evaluate(b,f,null,XPathResult.ANY_TYPE,null);if(d){return d.iterateNext()}else{return undefined}};this.addFilter(c);return this};this.evaluate=function(f){var e=f.evaluate(this._xpath,f,null,XPathResult.ANY_TYPE,null);var d=e.resultType;var c=new Array();if(d==XPathResult.STRING_TYPE){c.push(e.stringValue)}else{if(d==XPathResult.ORDERED_NODE_ITERATOR_TYPE||d==XPathResult.UNORDERED_NODE_ITERATOR_TYPE){var b;while((b=e.iterateNext())){c.push(b)}}}c=this._applyFilters(c,f);if(c.length==0){return false}else{return c}}};FW._Xpath.prototype=new FW._StringMagic();FW.detectWeb=function(e,b){for(var c in FW._scrapers){var d=FW._scrapers[c];var f=d.evaluateThing(d.itemType,e,b);var a=d.evaluateThing(d.detect,e,b);if(a.length>0&&a[0]){return f}}return undefined};FW.getScraper=function(b,a){var c=FW.detectWeb(b,a);return FW._scrapers.filter(function(d){return(d.evaluateThing(d.itemType,b,a)==c)&&(d.evaluateThing(d.detect,b,a))})[0]};FW.doWeb=function(c,a){var b=FW.getScraper(c,a);b.makeItems(c,a,[],function(f,e,g,d){e.callHook("scraperDone",f,g,d);if(!f.title){f.title=""}f.complete()},function(){Zotero.done()});Zotero.wait()}; | |
| /* | |
| BioMed Central Translator | |
| Copyright (C) 2011 Avram Lyon, [email protected] | |
| This program is free software: you can redistribute it and/or modify | |
| it under the terms of the GNU Affer General Public License as published by | |
| the Free Software Foundation, either version 3 of the License, or | |
| (at your option) any later version. | |
| This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU Affero General Public License for more details. | |
| You should have received a copy of the GNU Affer General Public License | |
| along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| */ | |
| function detectWeb(doc, url) { return FW.detectWeb(doc, url); } | |
| function doWeb(doc, url) { return FW.doWeb(doc, url); } | |
| /** Articles */ | |
| FW.Scraper({ | |
| itemType : 'journalArticle', | |
| detect : FW.Xpath('//meta[@name="citation_journal_title"]'), | |
| title : FW.Xpath('//meta[@name="citation_title"]/@content').text().trim(), | |
| attachments : [{ url: FW.Xpath('//meta[@name="citation_pdf_url"][1]/@content').text().trim(), | |
| title: "Full Text PDF", | |
| type: "application/pdf" }, | |
| {url: FW.Xpath('//meta[@name="citation_abstract_html_url"]/@content').text(), | |
| title: "BioMed Central Snapshot", | |
| type: "text/html"} | |
| ], | |
| //make sure there are no empty authors: | |
| creators : FW.Xpath('//meta[@name="citation_authors"]/@content').text().replace(/(,[^A-Za-z0-9]*)$/, "").split(",").cleanAuthor("author"), | |
| date : FW.Xpath('//meta[@name="citation_date"]/@content').text(), | |
| issue : FW.Xpath('//meta[@name="citation_issue"]/@content').text(), | |
| volume : FW.Xpath('//meta[@name="citation_volume"]/@content').text(), | |
| pages : FW.Xpath('concat(//meta[@name="citation_firstpage"]/@content, "-", //meta[@name="citation_lastpage"]/@content)').remove(/^-|-$/), | |
| ISSN : FW.Xpath('//meta[@name="citation_issn"]/@content').text(), | |
| abstractNote: FW.Xpath('//meta[@name="description"]/@content').text(), | |
| journalAbbreviation : FW.Xpath('//meta[@name="citation_journal_abbrev"]/@content').text(), | |
| DOI : FW.Xpath('//meta[@name="citation_doi"]/@content').text(), | |
| language : FW.Xpath('//meta[@name="DC.Language"]/@content').text(), | |
| publicationTitle : FW.Xpath('//meta[@name="citation_journal_title"]/@content').text() | |
| }); | |
| FW.MultiScraper({ | |
| itemType : 'multiple', | |
| detect : FW.Xpath("//table[@id='articles-list']//td[@class='article-entry']//p/strong/a"), | |
| choices : { | |
| titles : FW.Xpath("//table[@id='articles-list']//td[@class='article-entry']//p/strong/a").text().trim(), | |
| urls : FW.Xpath("//table[@id='articles-list']//td[@class='article-entry']//p/strong/a").key("href") | |
| } | |
| }); | |
| FW.MultiScraper({ | |
| itemType : 'multiple', | |
| detect : FW.Xpath("//form[@name='search']/table[3]/tbody/tr/td[2]/a[@class='hiddenlink']"), | |
| choices : { | |
| titles : FW.Xpath("//table[@id='articles-list']//td[@class='article-entry']//p/strong/a").text().trim(), | |
| urls : FW.Xpath("//table[@id='articles-list']//td[@class='article-entry']//p/strong/a").key("href") | |
| } | |
| }); | |
| /** BEGIN TEST CASES **/ | |
| var testCases = [ | |
| { | |
| "type": "web", | |
| "url": "http://respiratory-research.com/search/results?terms=cells", | |
| "items": "multiple" | |
| }, | |
| { | |
| "type": "web", | |
| "url": "http://respiratory-research.com/content/11/1/133", | |
| "items": [ | |
| { | |
| "itemType": "journalArticle", | |
| "creators": [ | |
| { | |
| "firstName": "Zbigniew", | |
| "lastName": "Mikulski", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Petra", | |
| "lastName": "Hartmann", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Gitte", | |
| "lastName": "Jositsch", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Zbigniew", | |
| "lastName": "Zasłona", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Katrin S", | |
| "lastName": "Lips", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Uwe", | |
| "lastName": "Pfeil", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Hjalmar", | |
| "lastName": "Kurzen", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Jürgen", | |
| "lastName": "Lohmeyer", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Wolfgang G", | |
| "lastName": "Clauss", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Veronika", | |
| "lastName": "Grau", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Martin", | |
| "lastName": "Fronius", | |
| "creatorType": "author" | |
| }, | |
| { | |
| "firstName": "Wolfgang", | |
| "lastName": "Kummer", | |
| "creatorType": "author" | |
| } | |
| ], | |
| "notes": [], | |
| "tags": [], | |
| "seeAlso": [], | |
| "attachments": [ | |
| { | |
| "title": "Full Text PDF", | |
| "url": "http://respiratory-research.com/content/pdf/1465-9921-11-133.pdf, http://respiratory-research.com/content/pdf/1465-9921-11-133.pdf", | |
| "mimeType": "application/pdf" | |
| }, | |
| { | |
| "document": { | |
| "location": {} | |
| }, | |
| "title": "Snapshot" | |
| }, | |
| { | |
| "url": "http://respiratory-research.com/content/pdf/1465-9921-11-133.pdf", | |
| "title": "BMC Full Text PDF", | |
| "mimeType": "application/pdf" | |
| } | |
| ], | |
| "itemID": "http://respiratory-research.com/content/11/1/133", | |
| "title": "Nicotinic receptors on rat alveolar macrophages dampen ATP-induced increase in cytosolic calcium concentration", | |
| "source": "Respiratory Research", | |
| "publicationTitle": "Respiratory Research", | |
| "rights": "http://creativecommons.org/licenses/by/2.0/", | |
| "volume": "11", | |
| "issue": "1", | |
| "number": "1", | |
| "patentNumber": "1", | |
| "pages": "133", | |
| "ISSN": "1465-9921", | |
| "publisher": "BioMed Central Ltd", | |
| "institution": "BioMed Central Ltd", | |
| "company": "BioMed Central Ltd", | |
| "label": "BioMed Central Ltd", | |
| "distributor": "BioMed Central Ltd", | |
| "date": "2010-09-29", | |
| "DOI": "10.1186/1465-9921-11-133", | |
| "reportType": "Research", | |
| "videoRecordingType": "Research", | |
| "letterType": "Research", | |
| "manuscriptType": "Research", | |
| "mapType": "Research", | |
| "thesisType": "Research", | |
| "websiteType": "Research", | |
| "audioRecordingType": "Research", | |
| "presentationType": "Research", | |
| "postType": "Research", | |
| "audioFileType": "Research", | |
| "url": "http://respiratory-research.com/content/11/1/133", | |
| "accessDate": "CURRENT_TIMESTAMP", | |
| "libraryCatalog": "respiratory-research.com", | |
| "abstractNote": "Nicotinic acetylcholine receptors (nAChR) have been identified on a variety of cells of the immune system and are generally considered to trigger anti-inflammatory events. In the present study, we determine the nAChR inventory of rat alveolar macrophages (AM), and investigate the cellular events evoked by stimulation with nicotine." | |
| } | |
| ] | |
| } | |
| ] | |
| /** END TEST CASES **/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment