From 84498de046e38f98d5d09047388c563d696c03a1 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 20 Jun 2011 01:31:24 +0000 Subject: [PATCH] Add items to multiple item test in LiveJournal and add tests to NYTimes.com --- translators/LiveJournal.js | 299 ++++++++++++++++++++++++++++++- translators/NYTimes.com.js | 351 +++++++++++++++++++++++++++++++++++-- 2 files changed, 630 insertions(+), 20 deletions(-) diff --git a/translators/LiveJournal.js b/translators/LiveJournal.js index 6f31c10ffe..97626bb417 100644 --- a/translators/LiveJournal.js +++ b/translators/LiveJournal.js @@ -9,13 +9,17 @@ "browserSupport":"gcs", "inRepository": true, "translatorType": 4, - "lastUpdated": "2011-06-18 08:39:18" + "lastUpdated": "2011-06-19 21:11:50" } /* FW LINE 46:127318f30c1d */ 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})}}}};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){Zotero.debug("Entering MultiScraper.makeItems");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){Zotero.debug("Entering DelegateTranslator.makeItems");var e;Zotero.Utilities.HTTP.doGet(d,function(h){this._translator.setHandler("itemDone",function(k,j){e=j;if(b){j.attachments=b}});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;d0&&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){Zotero.debug("Entering FW.doWeb");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();Zotero.debug("Leaving FW.doWeb")}; + + + + /** Copyright (c) 2011, Avram Lyon @@ -95,11 +99,6 @@ blogTitle : FW.Xpath('//table[@id="topbox"]//div[@align="center"]').text /** BEGIN TEST CASES **/ var testCases = [ - { - "type": "web", - "url": "http://kurgus.livejournal.com/", - "items": [] - }, { "type": "web", "url": "http://irek-murtazin.livejournal.com/487966.html", @@ -203,6 +202,294 @@ var testCases = [ "checkFields": "title" } ] + }, + { + "type": "web", + "url": "http://kurgus.livejournal.com/", + "items": [ + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "apple", + "safari", + "zotero", + "Библиотеки" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/60523.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/60523.html", + "blogTitle": "kurgus", + "date": "2011-06-14", + "title": "Zotero, Mac, пожелания и разочарания", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/60348.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/60348.html", + "blogTitle": "kurgus", + "date": "2011-05-27", + "title": "Рейтинг-механизм в en.wikipedia", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Обскурантизм", + "Разгильдяйство" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/60049.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/60049.html", + "blogTitle": "kurgus", + "date": "2011-05-26", + "title": "Многоклеточный шовинизм", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Жизнь", + "Природа" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/59586.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/59586.html", + "blogTitle": "kurgus", + "date": "2011-05-23", + "title": "Погладь сосну!", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Наука", + "Обскурантизм", + "Этнография современности" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/59247.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/59247.html", + "blogTitle": "kurgus", + "date": "2011-05-22", + "title": "О псевдонауке, \"точках зрения\" и прочем", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Жизнь", + "Наука" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/59082.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/59082.html", + "blogTitle": "kurgus", + "date": "2011-05-21", + "title": "Украинский фестиваль науки: облом в ИТФ", + "libraryCatalog": "LiveJournal", + "shortTitle": "Украинский фестиваль науки" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Википедия", + "Химия", + "Этнография современности" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/58859.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/58859.html", + "blogTitle": "kurgus", + "date": "2011-05-17", + "title": "Похвала японцам или о без(д)умии европеоидов.", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Википедия", + "Национал-лингвистика" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/58369.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/58369.html", + "blogTitle": "kurgus", + "date": "2011-05-16", + "title": "Дефиниционно: сакральные отличия", + "libraryCatalog": "LiveJournal", + "shortTitle": "Дефиниционно" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Криптолитература", + "Литература" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/58242.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/58242.html", + "blogTitle": "kurgus", + "date": "2011-05-11", + "title": "Эзоп и Аристофан", + "libraryCatalog": "LiveJournal" + }, + { + "itemType": "blogPost", + "creators": [ + { + "firstName": "", + "lastName": "kurgus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Фотоложество" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://kurgus.livejournal.com/58023.html", + "title": "LiveJournal Snapshot", + "type": "text/html" + } + ], + "url": "http://kurgus.livejournal.com/58023.html", + "blogTitle": "kurgus", + "date": "2011-05-10", + "title": "HDR на коленке", + "libraryCatalog": "LiveJournal" + } + ] } ] /** END TEST CASES **/ diff --git a/translators/NYTimes.com.js b/translators/NYTimes.com.js index d3a7576e25..e20cd2d31d 100644 --- a/translators/NYTimes.com.js +++ b/translators/NYTimes.com.js @@ -1,20 +1,20 @@ { - "translatorID":"ce7a3727-d184-407f-ac12-52837f3361ff", - "translatorType":4, - "label":"NYTimes.com", - "creator":"Simon Kornblith", - "target":"^https?://(?:query\\.nytimes\\.com/search/(?:alternate/)?|(?:select\\.|www\\.)?nytimes\\.com/.)", - "minVersion":"1.0.0b3.r1", - "browserSupport":"gcs", - "maxVersion":"", - "priority":100, - "inRepository":true, - "lastUpdated":"2011-06-17 18:21:52" + "translatorID": "ce7a3727-d184-407f-ac12-52837f3361ff", + "label": "NYTimes.com", + "creator": "Simon Kornblith", + "target": "^https?://(?:query\\.nytimes\\.com/search/(?:alternate/)?|(?:select\\.|www\\.)?nytimes\\.com/.)", + "minVersion": "1.0.0b3.r1", + "maxVersion": "", + "priority": 100, + "browserSupport":"gcs", + "inRepository": true, + "translatorType": 4, + "lastUpdated": "2011-06-19 21:21:19" } function detectWeb(doc, url) { // Check for search results - var searchResults = doc.evaluate('//div[@id="search_results"]', doc, null, + var searchResults = doc.evaluate('//div[@id="search_results"] | //div[@id="srchContent"]', doc, null, XPathResult.ANY_TYPE, null).iterateNext(); if(searchResults) return "multiple"; @@ -144,7 +144,7 @@ function scrape(doc, url) { } function doWeb(doc, url) { - var searchResults = doc.evaluate('//div[@id="search_results"]', doc, null, + var searchResults = doc.evaluate('//div[@id="search_results"] | //div[@id="srchContent"]', doc, null, XPathResult.ANY_TYPE, null).iterateNext(); if(searchResults) { var items = Zotero.Utilities.getItemArray(doc, searchResults, '^http://(?:select\.|www\.)nytimes.com/.*\.html(\\?|$)'); @@ -160,4 +160,327 @@ function doWeb(doc, url) { } else { scrape(doc); } -} \ No newline at end of file +} + +/** BEGIN TEST CASES **/ +var testCases = [ + { + "type": "web", + "url": "https://www.nytimes.com/2010/08/21/education/21harvard.html?scp=1&sq=marc%20hauser&st=cse&gwh=4B8CBC2383B24F22FED81E754DFA960B", + "items": [ + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Science and Technology", + "Research", + "Ethics", + "Hauser, Marc D", + "Harvard University" + ], + "seeAlso": [], + "attachments": [ + { + "document": "[object]", + "title": "New York Times Snapshot" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "https://www.nytimes.com/2010/08/21/education/21harvard.html?scp=1&sq=marc%20hauser&st=cse&gwh=4B8CBC2383B24F22FED81E754DFA960B", + "date": "2010-08-20", + "title": "Harvard Finds Marc Hauser Guilty of Scientific Misconduct", + "section": "Education", + "accessionNumber": "1248068890906", + "libraryCatalog": "NYTimes.com", + "accessDate": "CURRENT_TIMESTAMP" + } + ] + }, + { + "type": "web", + "url": "http://query.nytimes.com/search/query?frow=0&n=10&srcht=a&query=marc+hauser&srchst=nyt&submit.x=18&submit.y=12&hdlquery=&bylquery=&daterange=period&mon1=01&day1=01&year1=2010&mon2=01&day2=18&year2=2011", + "items": [ + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Science and Technology", + "Research", + "Ethics", + "Hauser, Marc D", + "Harvard University" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/08/21/education/21harvard.html?pagewanted=all&scp=1&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/08/21/education/21harvard.html?scp=1&sq=marc+hauser&st=nyt", + "date": "2010-08-20", + "title": "Harvard Finds Marc Hauser Guilty of Scientific Misconduct", + "section": "Education", + "accessionNumber": "1248068890906", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Laboratories and Scientific Equipment", + "Research", + "Ethics", + "Hauser, Marc D", + "Harvard University" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/08/14/education/14harvard.html?pagewanted=all&scp=3&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/08/14/education/14harvard.html?scp=3&sq=marc+hauser&st=nyt", + "date": "2010-08-13", + "title": "In Inquiry at Marc Hauser’s Harvard Lab, a Raid and Then a 3-Year Wait", + "section": "Education", + "accessionNumber": "1247468623821", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Hauser, Marc D", + "Harvard University", + "Office of Research Integrity" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/08/13/education/13harvard.html?pagewanted=all&scp=4&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/08/13/education/13harvard.html?scp=4&sq=marc+hauser&st=nyt", + "date": "2010-08-12", + "title": "Inquiry on Harvard Lab Threatens Ripple Effect", + "section": "Education", + "accessionNumber": "1247468617115", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Monkeys and Apes", + "Science and Technology", + "Ethics", + "Hauser, Marc D", + "University of Virginia" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/08/28/science/28harvard.html?pagewanted=all&scp=5&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/08/28/science/28harvard.html?scp=5&sq=marc+hauser&st=nyt", + "date": "2010-08-27", + "title": "Marc Hauser May Have Fabricated Data at Harvard Lab", + "section": "Science", + "accessionNumber": "1248068931442", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Psychology and Psychologists", + "Monkeys and Apes", + "Science and Technology", + "Hauser, Marc D", + "Harvard University" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/10/26/science/26hauser.html?pagewanted=all&scp=7&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/10/26/science/26hauser.html?scp=7&sq=marc+hauser&st=nyt", + "date": "2010-10-25", + "title": "Harvard Case Against Marc Hauser Is Hard to Define", + "section": "Science", + "accessionNumber": "1248069238889", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Nicholas", + "lastName": "Wade", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Research", + "Colleges and Universities", + "Ethics", + "Hauser, Marc", + "Harvard University" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/08/12/education/12harvard.html?pagewanted=all&scp=8&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/08/12/education/12harvard.html?scp=8&sq=marc+hauser&st=nyt", + "date": "2010-08-11", + "title": "Marc Hauser, Harvard Academic, Faces Inquiry", + "section": "Education", + "accessionNumber": "1247468609178", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "David", + "lastName": "Brooks", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Ethics", + "Bloom, Paul", + "Haidt, Jonathan", + "Phelps, Elizabeth", + "Greene, Joshua", + "Edge Foundation" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/07/23/opinion/23brooks.html?pagewanted=all&scp=9&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/07/23/opinion/23brooks.html?scp=9&sq=marc+hauser&st=nyt", + "date": "2010-07-22", + "title": "The Moral Naturalists", + "section": "Opinion", + "accessionNumber": "1247468494988", + "libraryCatalog": "NYTimes.com" + }, + { + "itemType": "newspaperArticle", + "creators": [ + { + "firstName": "Claudia", + "lastName": "Dreifus", + "creatorType": "author" + } + ], + "notes": [], + "tags": [ + "Dolphins and Porpoises", + "Brain", + "Psychology and Psychologists", + "Whales and Whaling", + "Science and Technology", + "Reiss, Diana" + ], + "seeAlso": [], + "attachments": [ + { + "url": "http://www.nytimes.com/2010/09/21/science/21conversation.html?pagewanted=all&scp=10&sq=marc+hauser&st=nyt", + "title": "New York Times Snapshot", + "mimeType": "text/html" + } + ], + "publicationTitle": "The New York Times", + "ISSN": "0362-4331", + "url": "http://www.nytimes.com/2010/09/21/science/21conversation.html?scp=10&sq=marc+hauser&st=nyt", + "date": "2010-09-20", + "title": "Studying the Big-Brained Dolphin", + "section": "Science", + "accessionNumber": "1248069061708", + "libraryCatalog": "NYTimes.com" + } + ] + } +] +/** END TEST CASES **/ \ No newline at end of file