Skip to content

Commit 1e10be8

Browse files
committed
fix WSJ to new default URL, some minor tweaks
1 parent aa051a9 commit 1e10be8

File tree

1 file changed

+60
-63
lines changed

1 file changed

+60
-63
lines changed

wsj.js

+60-63
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
"translatorID": "53f8d182-4edc-4eab-b5a1-141698a1303b",
33
"label": "Wall Street Journal",
44
"creator": "Sebastian Karcher",
5-
"target": "^https?://(online|blogs)?\\.wsj\\.com/",
5+
"target": "^https?://(online|blogs|www)?\\.wsj\\.com/",
66
"minVersion": "2.1",
77
"maxVersion": "",
88
"priority": 100,
99
"inRepository": true,
1010
"translatorType": 4,
1111
"browserSupport": "gcsbv",
12-
"lastUpdated": "2014-09-08 00:39:44"
12+
"lastUpdated": "2014-12-14 16:21:10"
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()};
@@ -53,7 +53,7 @@ attachments : [
5353
creators : FW.Xpath('//ul[contains(@class, "yline")]/li[contains(@class, "byName")]/a').text().replace(/^\s*By\s*/, "").cleanAuthor("author"),
5454
date : FW.Xpath('//li[@class="dateStamp first"]/small|//header/small[@class="post-time"]').text().remove(/(, )?\d{1,2}:\d{2} [AP]M\s*(ET)?/i),
5555
ISSN : "0099-9660",
56-
publicationTitle : FW.Xpath('//span[@class="logo"]/a/img/@title|//h5[@class="blogtitle"]').text().prepend("WSJ Blogs - ")
56+
publicationTitle : FW.Xpath('//span[@class="logo"]//a/img/@title|//h5[@class="blogtitle"]').text().prepend("WSJ Blogs - ")
5757
});
5858

5959

@@ -91,44 +91,44 @@ choices : {
9191
var testCases = [
9292
{
9393
"type": "web",
94-
"url": "http://online.wsj.com/news/articles/SB10001424052970204517204577046222233016362",
94+
"url": "http://www.wsj.com/news/articles/SB10001424052970204517204577046222233016362",
9595
"items": [
9696
{
9797
"itemType": "newspaperArticle",
98+
"title": "America's Jobless, Yearning for Oz",
9899
"creators": [
99100
{
100101
"firstName": "John W.",
101102
"lastName": "Miller",
102103
"creatorType": "author"
103104
}
104105
],
105-
"notes": [],
106-
"tags": [],
107-
"seeAlso": [],
106+
"date": "2011-11-19T05:01:00.000Z",
107+
"ISSN": "0099-9660",
108+
"abstractNote": "A profile of an Australian miner making $200,000 a year, published in The Wall Street Journal, led hundreds of people to ask how they could apply for such a job.",
109+
"libraryCatalog": "Wall Street Journal",
110+
"publicationTitle": "Wall Street Journal",
111+
"section": "Careers",
112+
"url": "http://www.wsj.com/news/articles/SB10001424052970204517204577046222233016362",
108113
"attachments": [
109114
{
110115
"title": "Wall Street Journal Snapshot",
111116
"type": "text/html"
112117
}
113118
],
114-
"url": "http://online.wsj.com/news/articles/SB10001424052970204517204577046222233016362",
115-
"abstractNote": "A profile of an Australian miner making $200,000 a year, published in The Wall Street Journal, led hundreds of people to ask how they could apply for such a job.",
116-
"date": "2011-11-19T05:01:00.000Z",
117-
"ISSN": "0099-9660",
118-
"publicationTitle": "Wall Street Journal",
119-
"section": "Careers",
120-
"title": "America's Jobless, Yearning for Oz",
121-
"libraryCatalog": "Wall Street Journal",
122-
"accessDate": "CURRENT_TIMESTAMP"
119+
"tags": [],
120+
"notes": [],
121+
"seeAlso": []
123122
}
124123
]
125124
},
126125
{
127126
"type": "web",
128-
"url": "http://online.wsj.com/news/articles/SB10001424052970203471004577144672783559392",
127+
"url": "http://www.wsj.com/news/articles/SB10001424052970203471004577144672783559392",
129128
"items": [
130129
{
131130
"itemType": "newspaperArticle",
131+
"title": "An Odd Turn in Insider Case",
132132
"creators": [
133133
{
134134
"firstName": "Jenny",
@@ -141,24 +141,22 @@ var testCases = [
141141
"creatorType": "author"
142142
}
143143
],
144-
"notes": [],
145-
"tags": [],
146-
"seeAlso": [],
144+
"date": "2012-01-07T05:01:00.000Z",
145+
"ISSN": "0099-9660",
146+
"abstractNote": "An outspoken analyst who is embroiled in the Wall Street insider-trading investigation allegedly left threatening messages for two FBI agents.",
147+
"libraryCatalog": "Wall Street Journal",
148+
"publicationTitle": "Wall Street Journal",
149+
"section": "Markets",
150+
"url": "http://www.wsj.com/news/articles/SB10001424052970203471004577144672783559392",
147151
"attachments": [
148152
{
149153
"title": "Wall Street Journal Snapshot",
150154
"type": "text/html"
151155
}
152156
],
153-
"url": "http://online.wsj.com/news/articles/SB10001424052970203471004577144672783559392",
154-
"abstractNote": "An outspoken analyst who is embroiled in the Wall Street insider-trading investigation allegedly left threatening messages for two FBI agents.",
155-
"date": "2012-01-07T05:01:00.000Z",
156-
"ISSN": "0099-9660",
157-
"publicationTitle": "Wall Street Journal",
158-
"section": "Markets",
159-
"title": "An Odd Turn in Insider Case",
160-
"libraryCatalog": "Wall Street Journal",
161-
"accessDate": "CURRENT_TIMESTAMP"
157+
"tags": [],
158+
"notes": [],
159+
"seeAlso": []
162160
}
163161
]
164162
},
@@ -168,23 +166,23 @@ var testCases = [
168166
"items": [
169167
{
170168
"itemType": "blogPost",
169+
"title": "The Ego Has Landed",
171170
"creators": [],
172-
"notes": [],
173-
"tags": [],
174-
"seeAlso": [],
171+
"date": "January 6, 2012",
172+
"ISSN": "0099-9660",
173+
"accessDate": "CURRENT_TIMESTAMP",
174+
"libraryCatalog": "Wall Street Journal",
175+
"publicationTitle": "WSJ Blogs - Overheard",
176+
"url": "http://blogs.wsj.com/overheard/2012/01/06/the-ego-has-landed/",
175177
"attachments": [
176178
{
177179
"title": "WSJ-Blogs Snapshot",
178180
"type": "text/html"
179181
}
180182
],
181-
"url": "http://blogs.wsj.com/overheard/2012/01/06/the-ego-has-landed/",
182-
"date": "January 6, 2012",
183-
"ISSN": "0099-9660",
184-
"publicationTitle": "WSJ Blogs - Overheard",
185-
"title": "The Ego Has Landed",
186-
"libraryCatalog": "Wall Street Journal",
187-
"accessDate": "CURRENT_TIMESTAMP"
183+
"tags": [],
184+
"notes": [],
185+
"seeAlso": []
188186
}
189187
]
190188
},
@@ -199,64 +197,63 @@ var testCases = [
199197
"items": [
200198
{
201199
"itemType": "blogPost",
200+
"title": "Number of the Week: Americans’ Cheaper Restaurant Bills",
202201
"creators": [
203202
{
204203
"firstName": "Phil",
205204
"lastName": "Izzo",
206205
"creatorType": "author"
207206
}
208207
],
209-
"notes": [],
210-
"tags": [],
211-
"seeAlso": [],
208+
"date": "Jan 7, 2012",
209+
"ISSN": "0099-9660",
210+
"accessDate": "CURRENT_TIMESTAMP",
211+
"libraryCatalog": "Wall Street Journal",
212+
"publicationTitle": "WSJ Blogs - Real Time Economics",
213+
"shortTitle": "Number of the Week",
214+
"url": "http://blogs.wsj.com/economics/2012/01/07/number-of-the-week-americans-cheaper-restaurant-bills/",
212215
"attachments": [
213216
{
214217
"title": "WSJ-Blogs Snapshot",
215218
"type": "text/html"
216219
}
217220
],
218-
"url": "http://blogs.wsj.com/economics/2012/01/07/number-of-the-week-americans-cheaper-restaurant-bills/",
219-
"date": "Jan 7, 2012",
220-
"ISSN": "0099-9660",
221-
"publicationTitle": "WSJ Blogs - Real Time Economics",
222-
"title": "Number of the Week: Americans’ Cheaper Restaurant Bills",
223-
"libraryCatalog": "Wall Street Journal",
224-
"accessDate": "CURRENT_TIMESTAMP",
225-
"shortTitle": "Number of the Week"
221+
"tags": [],
222+
"notes": [],
223+
"seeAlso": []
226224
}
227225
]
228226
},
229227
{
230228
"type": "web",
231-
"url": "http://online.wsj.com/articles/american-detained-in-north-korea-to-face-trial-next-sunday-1410053845",
229+
"url": "http://www.wsj.com/articles/american-detained-in-north-korea-to-face-trial-next-sunday-1410053845",
232230
"items": [
233231
{
234232
"itemType": "newspaperArticle",
233+
"title": "American Detained in North Korea to Face Trial Next Sunday",
235234
"creators": [
236235
{
237236
"firstName": "Jeyup S.",
238237
"lastName": "Kwaak",
239238
"creatorType": "author"
240239
}
241240
],
242-
"notes": [],
243-
"tags": [],
244-
"seeAlso": [],
241+
"date": "2014-09-07T01:37:00.000Z",
242+
"ISSN": "0099-9660",
243+
"abstractNote": "Matthew Miller, one of three Americans detained by North Korea, will face trial next Sunday, the country's state media said.",
244+
"libraryCatalog": "Wall Street Journal",
245+
"publicationTitle": "Wall Street Journal",
246+
"section": "World",
247+
"url": "http://www.wsj.com/articles/american-detained-in-north-korea-to-face-trial-next-sunday-1410053845",
245248
"attachments": [
246249
{
247250
"title": "Wall Street Journal Snapshot",
248251
"type": "text/html"
249252
}
250253
],
251-
"url": "http://online.wsj.com/articles/american-detained-in-north-korea-to-face-trial-next-sunday-1410053845",
252-
"abstractNote": "Matthew Miller, one of three Americans detained by North Korea, will face trial next Sunday, the country's state media said.",
253-
"date": "2014-09-07T01:37:00.000Z",
254-
"ISSN": "0099-9660",
255-
"publicationTitle": "Wall Street Journal",
256-
"section": "World",
257-
"title": "American Detained in North Korea to Face Trial Next Sunday",
258-
"libraryCatalog": "Wall Street Journal",
259-
"accessDate": "CURRENT_TIMESTAMP"
254+
"tags": [],
255+
"notes": [],
256+
"seeAlso": []
260257
}
261258
]
262259
}

0 commit comments

Comments
 (0)