From 1211a0fcd09f2d5ca2f5d12bcb2b60ef8b80b1bf Mon Sep 17 00:00:00 2001 From: Matt Burton Date: Thu, 26 Feb 2009 19:46:00 +0000 Subject: [PATCH] adding more checks for Dutch language fields from Hicham's code --- translators/Library Catalog (SIRSI).js | 46 ++++++++++++++++++-------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/translators/Library Catalog (SIRSI).js b/translators/Library Catalog (SIRSI).js index 8da7b506d..2e43e4db3 100644 --- a/translators/Library Catalog (SIRSI).js +++ b/translators/Library Catalog (SIRSI).js @@ -2,7 +2,7 @@ "translatorID":"add7c71c-21f3-ee14-d188-caf9da12728b", "translatorType":4, "label":"Library Catalog (SIRSI)", - "creator":"Sean Takats", + "creator":"Sean Takats & Hicham El Kasmi", "target":"/uhtbin/cgisirsi", "minVersion":"1.0.0b3.r1", "maxVersion":"", @@ -73,14 +73,17 @@ function scrape(doc) { if(!node) { var node = doc.evaluate('./TD[1]/text()[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext(); } + if(node) { var casedField = Zotero.Utilities.superCleanString(doc.evaluate('./TH[1]/text()[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().nodeValue); field = casedField.toLowerCase(); field = field.replace(/:./,""); var value = Zotero.Utilities.superCleanString(node.nodeValue); - if(field == "publisher") { + if(field == "publisher" || field == "éditeur" ) { newItem.publisher = value; - } else if(field == "pub date") { + } else if(field == "physical descrip" || field == "description physique" ) { + newItem.physicaldescription = value; + } else if(field == "pub date" || field == "année") { var re = /[0-9]+/; var m = re.exec(value); newItem.date = m[0]; @@ -88,10 +91,14 @@ function scrape(doc) { var re = /^[0-9](?:[0-9X]+)/; var m = re.exec(value); newItem.ISBN = m[0]; - } else if(field == "title" || field == "título" || field == "titre") { + } else if(field == "issn") { + newItem.ISSN = value; + } else if(field == "title" || field == "titre") { var titleParts = value.split(" / "); newItem.title = Zotero.Utilities.capitalizeTitle(titleParts[0]); - } else if(field == "publication info" || field == "publicación" || field == "publication") { + } else if(field == "series title" || field == "titre de série" || field == "collection") { + newItem.seriestitle = value.substr(1, value.length-2); + } else if(field == "publication info" || field == "publication") { var pubParts = value.split(" : "); newItem.place = pubParts[0]; if (pubParts[1].match(/\d+/)) { @@ -104,12 +111,12 @@ function scrape(doc) { newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "author", true)); authors.push(value); } - } else if(field == "author"){ + } else if(field == "author" || field == "auteur"){ if(authors.indexOf(value) == -1) { newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "author", true)); authors.push(value); } - } else if(field == "added author") { + } else if(field == "added author" || field == "organisme") { if(authors.indexOf(value) == -1) { newItem.creators.push(Zotero.Utilities.cleanAuthor(value, "contributor", true)); authors.push(value); @@ -119,21 +126,34 @@ function scrape(doc) { newItem.creators.push({lastName:value, fieldMode:true}); authors.push(value); } + } else if(field == "general note" || field == "note") { + newItem.generalnote = value; } else if(field == "edition" || field == "édition") { newItem.edition = value; - } else if(field == "subject term" || field == "corporate subject" || field == "geographic term" || field == "subject") { + } else if(field == "additional formats" || field == "autres supports") { + newItem.additionalformats = value; + } else if(field == "continued by" || field == "devient") { + newItem.continuedby = value; + } else if(field == "subject term" || field == "corporate subject" || field == "geographic term" || field == "subject" || field == "sujet" || field == "sujet géographique") { var subjects = value.split("--"); for(var i=0; i