Trans: ESpace translator, updated by Rintze Zelle

This commit is contained in:
Avram Lyon 2010-10-18 18:43:09 +00:00
parent 0584ee6b52
commit 633180075a

View File

@ -1,14 +1,14 @@
{ {
"translatorID":"176948f7-9df8-4afc-ace7-4c1c7318d426", "translatorID":"176948f7-9df8-4afc-ace7-4c1c7318d426",
"translatorType":4,
"label":"ESpacenet", "label":"ESpacenet",
"creator":"Gilles Poulain", "creator":"Gilles Poulain and Rintze Zelle",
"target":"http://v3.espacenet.com/", "target":"http://v3.espacenet.com/",
"minVersion":"1.0.0b4.r5", "minVersion":"1.0.0b4.r5",
"maxVersion":"", "maxVersion":"",
"priority":100, "priority":100,
"inRepository":true, "inRepository":"1",
"lastUpdated":"2009-10-08 17:40:00" "translatorType":4,
"lastUpdated":"2010-10-17 10:38:50"
} }
function detectWeb(doc, url) { function detectWeb(doc, url) {
@ -83,7 +83,7 @@ function scrape(doc,url) {
//Get Applicant //Get Applicant
var xpath = "//table[1]/tbody/tr/td[1]/table/tbody/tr[4]/td[2]"; var xpath = "//table[1]/tbody/tr/td[1]/table/tbody/tr[4]/td[2]";
if(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext()){ if(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext()){
var applicant = Zotero.Utilities.cleanString(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); var applicantField = Zotero.Utilities.cleanString(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent);
} }
//Get application number //Get application number
@ -133,7 +133,7 @@ function scrape(doc,url) {
//Get Creators //Get Creators
var xpath = "//table[1]/tbody/tr/td[1]/table/tbody/tr[3]/td[2]"; var xpath = "//table[1]/tbody/tr/td[1]/table/tbody/tr[3]/td[2]";
if(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext()){ if(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext()){
var author = Zotero.Utilities.cleanString(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); var inventorField = Zotero.Utilities.cleanString(doc.evaluate(xpath, doc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent);
} }
//Create Zotero Ref //Create Zotero Ref
@ -142,34 +142,44 @@ function scrape(doc,url) {
newArticle.title = title; newArticle.title = title;
newArticle.date = date; newArticle.date = date;
newArticle.abstractNote = abstract; newArticle.abstractNote = abstract;
newArticle.assignee = applicant;
newArticle.patentNumber = pnumber; newArticle.patentNumber = pnumber;
newArticle.priorityNumbers = prnumber; newArticle.priorityNumbers = prnumber;
newArticle.applicationNumber = anumber; newArticle.applicationNumber = anumber;
newArticle.extra = "CIB: " + CIBnumber + "\nECLA: " + ECLAnumber newArticle.extra = "CIB: " + CIBnumber + "\nECLA: " + ECLAnumber
var author1 = author.split("; "); if (applicantField) {
; var applicant = reorganizeNames(applicantField).join("; ");
for (var m = 0; m< author1.length; m++) { newArticle.assignee = applicant;
if (author1[m].match(/\(/)) {
author1[m] = author1[m].substr(0, author1[m].length-5);
}
words = author1[m].split(/\s/);
for (var j in words) {
words[j] = words[j][0].toUpperCase() + words[j].substr(1).toLowerCase();
} }
var inventor = ''; var inventors = reorganizeNames(inventorField);
for (var k = 1; k < words.length; k++) { for (var m = 0; m< inventors.length; m++) {
inventor = inventor +words[k] + " "; newArticle.creators.push(Zotero.Utilities.cleanAuthor(inventors[m], "inventor", true));
if (k == words.length-1) {
inventor = inventor +words[0];
newArticle.creators.push(Zotero.Utilities.cleanAuthor(inventor, "inventor"));
}
}
} }
newArticle.complete(); newArticle.complete();
} }
function reorganizeNames(nameField) {
var nameCollection = nameField.split("(")[1].split(")")[0];
var nameParts = nameCollection.split(" ");
for (var j in nameParts) {
nameParts[j] = nameParts[j][0].toUpperCase() + nameParts[j].substr(1).toLowerCase();
}
nameCollection = nameParts.join(" ");
var nameArray = nameCollection.split(", ; ");
for (var m = 0; m< nameArray.length; m++) {
if (nameArray[m].match(",")) {
var nameParts = "";
nameParts = nameArray[m].split(", ");
nameParts[0] = nameParts[0].concat(",");
nameArray[m] = nameParts.join(" ");
} else {
nameArray[m] = nameArray[m].replace(" ", ", ");
}
}
return nameArray;
}