Skip to content

Commit ab74978

Browse files
committed
small fixes: CSM, Google Blogs, FAZ, Radio Free Europe
test updates: CiteUlike, eMedicine, Epicurious, REDALYC compat update: CLASE, DART-Europe, In These Times, Legifrance, Mailman
1 parent f413aaf commit ab74978

14 files changed

+73
-82
lines changed

Diff for: CLASE.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"priority": 100,
99
"inRepository": true,
1010
"translatorType": 4,
11-
"browserSupport": "g",
12-
"lastUpdated": "2013-02-14 13:45:27"
11+
"browserSupport": "gcs",
12+
"lastUpdated": "2013-02-24 23:20:46"
1313
}
1414

1515
function detectWeb(doc, url) {

Diff for: Christian Science Monitor.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"inRepository": true,
1010
"translatorType": 4,
1111
"browserSupport": "gcsibv",
12-
"lastUpdated": "2012-10-21 22:58:08"
12+
"lastUpdated": "2013-02-24 23:18:19"
1313
}
1414

1515
/* FW LINE 57:6869c32952b1 */ 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==="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 f}}}};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(p,b,g,t){if(g instanceof Array){g.forEach(function(k){this._makeAttachments(p,b,k,t)},this)}else{if(typeof g==="object"){var o=g.urls||g.url;var m=g.types||g.type;var f=g.titles||g.title;var q=g.snapshots||g.snapshot;var j=this.evaluateThing(o,p,b);var n=this.evaluateThing(f,p,b);var s=this.evaluateThing(m,p,b);var d=this.evaluateThing(q,p,b);if(!(j instanceof Array)){j=[j]}for(var l in j){var c=j[l];var h;var e;var r;if(s instanceof Array){h=s[l]}else{h=s}if(n instanceof Array){e=n[l]}else{e=n}if(d instanceof Array){r=d[l]}else{r=d}t.attachments.push({url:c,title:e,type:h,snapshot:r})}}}};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(){if(arguments.length>0&&arguments[0]==true){return this.addFilter(function(a){return Zotero.Utilities.capitalizeTitle(a,true)})}else{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 flatten(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()};
@@ -76,8 +76,8 @@ FW.MultiScraper({
7676
itemType : 'multiple',
7777
detect : FW.Url().match(/\/content\/search\?/),
7878
choices : {
79-
titles : FW.Xpath('//div[@class="item"]/h3/a[contains(@href, "/20") or contains(@href, "/19")]').text().trim(),
80-
urls : FW.Xpath('//div[@class="item"]/h3/a[contains(@href, "/20") or contains(@href, "/19")]').key("href")
79+
titles : FW.Xpath('//div[@class="item"]/h5/a[contains(@href, "/20") or contains(@href, "/19")]').text().trim(),
80+
urls : FW.Xpath('//div[@class="item"]/h5/a[contains(@href, "/20") or contains(@href, "/19")]').key("href")
8181
}
8282
});
8383

@@ -152,7 +152,6 @@ var testCases = [
152152
},
153153
{
154154
"type": "web",
155-
"defer": true,
156155
"url": "http://www.csmonitor.com/content/search?SearchText=Argentina",
157156
"items": "multiple"
158157
}

Diff for: CiteULike.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"inRepository": true,
1010
"translatorType": 4,
1111
"browserSupport": "gcsibv",
12-
"lastUpdated": "2012-09-04 21:23:28"
12+
"lastUpdated": "2013-02-24 23:19:16"
1313
}
1414

1515
function detectWeb(doc, url){
@@ -108,8 +108,8 @@ var testCases = [
108108
"pages": "140-155",
109109
"ISSN": "0098-5589",
110110
"abstractNote": "Use cases are believed to be a good basis for system testing. Yet, to automate the test generation process, there is a large gap to bridge between high-level use cases and concrete test cases. We propose a new approach for automating the generation of system test scenarios in the context of object-oriented embedded software, taking into account traceability problems between high-level views and concrete test case execution. Starting from a formalization of the requirements based on use cases extended with contracts, we automatically build a transition system from which we synthesize test cases. Our objective is to cover the system in terms of statement coverage with those generated tests: an empirical evaluation of our approach is given based on this objective and several case studies. We briefly discuss the experimental deployment of our approach in the field at Thales Airborne Systems.",
111-
"url": "http://dx.doi.org/10.1109/TSE.2006.22",
112-
"DOI": "10.1109/TSE.2006.22",
111+
"url": "http://dx.doi.org/10.1109/tse.2006.22",
112+
"DOI": "10.1109/tse.2006.22",
113113
"date": "March 2006",
114114
"libraryCatalog": "CiteULike",
115115
"accessDate": "CURRENT_TIMESTAMP",

Diff for: DART-Europe.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"priority": 100,
99
"inRepository": true,
1010
"translatorType": 4,
11-
"browserSupport": "g",
12-
"lastUpdated": "2013-02-21 20:41:47"
11+
"browserSupport": "gcs",
12+
"lastUpdated": "2013-02-24 23:22:04"
1313
}
1414

1515
/**
@@ -65,12 +65,12 @@ function scrape(doc, url) {
6565

6666

6767
var tags = ZU.xpathText(doc, '//tr[contains(@class, "result")]/th[@class="field-name" and contains(text(), "Subject(s)")]/following-sibling::td');
68-
if (tags) {
69-
tags = tags.split(/\s*,\s*/);
68+
if (tags) {
69+
tags = tags.split(/\s*,\s*/);
7070
for (var i in tags) {
7171
newItem.tags.push(tags[i])
7272
}
73-
}
73+
}
7474

7575
if (fulltext) {
7676
fulltext = fulltext.trim();

Diff for: Epicurious.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"inRepository": true,
1010
"translatorType": 4,
1111
"browserSupport": "gcsbv",
12-
"lastUpdated": "2013-02-06 23:58:52"
12+
"lastUpdated": "2013-02-24 23:25:00"
1313
}
1414

1515
function detectWeb(doc, url) {
@@ -197,6 +197,11 @@ var testCases = [
197197
"lastName": "étoile",
198198
"creatorType": "contributor",
199199
"fieldMode": 1
200+
},
201+
{
202+
"firstName": "photo by France",
203+
"lastName": "Ruffenach",
204+
"creatorType": "contributor"
200205
}
201206
],
202207
"notes": [

Diff for: FAZ.NET.js

+7-9
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"inRepository": true,
1010
"translatorType": 4,
1111
"browserSupport": "gcsibv",
12-
"lastUpdated": "2012-09-27 23:59:07"
12+
"lastUpdated": "2013-02-24 23:30:07"
1313
}
1414

1515
/*
@@ -82,18 +82,16 @@ function scrape(doc) {
8282
}
8383

8484
//some authors are in /a, some aren't we need to distinguish to get this right
85-
if (ZU.xpathText(doc, '//div[@class="FAZArtikelEinleitung"]/span[@class = "Autor"]/span[@class="caps"]/a') != null) {
86-
var xpath = '//div[@class="FAZArtikelEinleitung"]/span[@class = "Autor"]/span[@class="caps"]/a';
85+
if (ZU.xpathText(doc, '//div[@class="FAZArtikelEinleitung"]/span[@class = "Autor"]/span[contains(@class, "caps")]/a') != null) {
86+
var xpath = '//div[@class="FAZArtikelEinleitung"]/span[@class = "Autor"]/span[contains(@class, "caps")]/a';
8787
} else {
88-
var xpath = '//div[@class="FAZArtikelEinleitung"]/span[@class ="Autor"]/span[@class="caps"]';
88+
var xpath = '//div[@class="FAZArtikelEinleitung"]/span[@class ="Autor"]/span[contains(@class, "caps")]';
8989
};
90-
var authors = ZU.xpathText(doc, xpath);
91-
if (authors != null) {
92-
authors = authors.replace(/,.+/, "").split(/ und /)
90+
var authors = ZU.xpath(doc, xpath);
91+
9392
for (i in authors) {
94-
newArticle.creators.push(Zotero.Utilities.cleanAuthor(authors[i], "author"));
93+
newArticle.creators.push(Zotero.Utilities.cleanAuthor(authors[i].textContent, "author"));
9594
}
96-
}
9795

9896
newArticle.publicationTitle = "FAZ.NET";
9997

Diff for: Google Blogs.js

+2-14
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"inRepository": true,
1010
"translatorType": 4,
1111
"browserSupport": "gcsib",
12-
"lastUpdated": "2012-03-10 00:13:16"
12+
"lastUpdated": "2013-02-24 22:41:21"
1313
}
1414

1515
/*
@@ -35,19 +35,8 @@ function detectWeb(doc, url) {
3535
}
3636

3737
function doWeb(doc, url) {
38-
if (ZU === undefined) {
39-
var ZU = {};
40-
ZU.xpath = function (node, xpath, ns) {
41-
var nodes = [];
42-
var i;
43-
var result = doc.evaluate(xpath, node, ns, XPathResult.ANY_TYPE, null);
44-
while (i = result.iterateNext()) nodes.push(i);
45-
if (nodes.length > 0) return nodes;
46-
return null;
47-
}
48-
}
4938

50-
var list = ZU.xpath(doc, '//div[@id="search"]//ol[@id="rso"]/li/div[@class="vsc"]');
39+
var list = ZU.xpath(doc, '//div[@id="search"]//ol[@id="rso"]/li/div[@class="vsc" and span/h3/a]');
5140
var i, node;
5241
var items = [];
5342
var names = {};
@@ -80,7 +69,6 @@ function doWeb(doc, url) {
8069
var testCases = [
8170
{
8271
"type": "web",
83-
"defer": true,
8472
"url": "https://www.google.com/search?tbm=blg&hl=en&source=hp&biw=1024&bih=656&q=argentina&btnG=Search&gbv=2",
8573
"items": "multiple"
8674
}

0 commit comments

Comments
 (0)