{ "translatorID":"232e24fe-2f68-44fc-9366-ecd45720ee9e", "translatorType":4, "label":"Patents - USPTO", "creator":"Bill McKinney", "target":"^http://patft\\.uspto\\.gov/netacgi/nph-Parser.+", "minVersion":"1.0.0b4.r1", "maxVersion":"", "priority":100, "inRepository":true, "lastUpdated":"2011-01-11 04:31:00" } function detectWeb(doc, url) { var re = new RegExp("^http://patft\.uspto\.gov/netacgi/nph-Parser"); if(re.test(doc.location.href)) { return "book"; } else { return "multiple"; } } function get_nextsibling(n) { var x=n.nextSibling; while (x.nodeType!=1) { x=x.nextSibling; } return x; } function scrape(doc) { var newItem = new Zotero.Item("patent"); newItem.url = doc.location.href; var extraText = new String(); var tmpStr = new String(); var tmpRefs = ""; var tmpTitle = doc.title; var fontTags = doc.getElementsByTagName("font"); for(var i=0; i]+>/g, ""); newItem.title = tmpTitle; var cellTags = doc.getElementsByTagName("td"); for(var i=0; i -1) { tmpStr = cellTags[i+1].childNodes[0].innerHTML; tmpStr = tmpStr.replace(/<[^>]+>/gi, ""); tmpStr = tmpStr.replace(/,/gi, ""); newItem.patentNumber = tmpStr; tmpStr = cellTags[i+3].innerHTML; tmpStr = tmpStr.replace(/<[^>]+>/gi, ""); newItem.issueDate = tmpStr; continue; } if (s.indexOf("Assignee") > -1) { tmpStr = cellTags[i+1].innerHTML; tmpStr = tmpStr.replace(/<\/?\w+>/gi, ""); newItem.assignee = tmpStr; continue; } if (s.indexOf("Inventors") > -1) { tmpStr = cellTags[i+1].innerHTML; var inventors = tmpStr.split(/,/ig); for (var j=0; j/gi, ""); tmpInventor = tmpInventor.replace(/\([^\)]+\)/gi, ""); tmpInventor = tmpInventor.replace(/^\s+/gi, ""); var names = tmpInventor.split(";"); if (names) { var lname = names[0]; var fname = names[1]; lname = lname.replace(/^\s+/gi, ""); lname = lname.replace(/\s+$/gi, ""); fname= fname.replace(/^\s+/gi, ""); fname= fname.replace(/\s+$/gi, ""); newItem.creators.push({lastName:lname, firstName:fname, creatorType:"inventor"}); } } continue; } // references if (s.indexOf(" -1) { tmpRefs = tmpRefs + cellTags[i].childNodes[0].innerHTML + " "; } if (s.indexOf(" -1) { tmpRefs = tmpRefs + cellTags[i].childNodes[0].innerHTML + " "; } } var centerTags = doc.getElementsByTagName("center"); for(var i=0; i -1) { //newItem.extra = "ok"; var el = get_nextsibling(centerTags[i]); newItem.abstractNote = el.innerHTML; } } newItem.references = tmpRefs; newItem.complete(); } function doWeb(doc, url) { var re = new RegExp("^http://patft\.uspto\.gov/netacgi/nph-Parser.+"); if(re.test(doc.location.href)) { scrape(doc); } else { var items = Zotero.Utilities.getItemArray(doc, doc, "^http://patft\.uspto\.gov/netacgi/nph-Parser.+"); items = Zotero.selectItems(items); if(!items) { return true; } var uris = new Array(); for(var i in items) { uris.push(i); } Zotero.Utilities.processDocuments(uris, function(doc) { scrape(doc) }, function() { Zotero.done(); }, null); Zotero.wait(); } }