Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
274 lines (250 sloc) 6.4 KB
{
"translatorID": "b662c6eb-e478-46bd- bad4-23cdfd0c9d67",
"label": "JurPC",
"creator": "Oliver Vivell and Michael Berkowitz",
"target": "^https?://www\\.jurpc\\.de/jurpc/show\\?id=",
"minVersion": "3.0",
"maxVersion": "",
"priority": 100,
"inRepository": true,
"translatorType": 4,
"browserSupport": "gcsibv",
"lastUpdated": "2015-01-02 18:03:03"
}
function detectWeb(doc, url) {
//prevent Zotero from throwing an error here
var firstLine = ZU.xpathText(doc, '//h2[1]');
if (firstLine.indexOf("Urteil vom") != -1 || firstLine.indexOf("Beschluss vom")!=-1) {
return "case";
}
else {
return "journalArticle";
}
}
function doWeb(doc, url) {
var articles = new Array();
if (detectWeb(doc, url) == "journalArticle") {
// Aufsatz gefunden
var item = new Zotero.Item('journalArticle');
// Authors and title are in h2-elements
var information = ZU.xpath(doc, '//h2');
var aus = information[0].textContent.split("/");
for (var i=0; i< aus.length ; i++) {
aus[i] = aus[i].replace(/\*/, "").trim();
item.creators.push(ZU.cleanAuthor(aus[i], "author"));
}
item.title = ZU.trimInternal(information[1].textContent);
var webdoktext = ZU.xpathText(doc, '//h3');
var year = webdoktext.match(/\/(\d{4}),/);
var webdok = webdoktext.match(/Dok. (\d+)\//);
if (year) item.year = year[1];
if (webdok && year) {
item.volume = "WebDok " + webdok[1] + "/" + year[1];
}
var doi = ZU.xpathText(doc, '//span[@class="resultinfo left"]')
if (doi != null) {
item.DOI = ZU.cleanDOI(doi);
}
item.journal = "JurPC";
item.url = url;
item.language = "de-DE";
item.attachments = [{
title: "JurPC Snapshot",
document: doc
}];
item.complete();
} else {
//Case
var item = new Zotero.Item('case');
// all information about the case are stored in h2-elements.
var information = doc.getElementsByTagName('h2');
var caseInformation = [];
for (var i=0; i<information.length; i++) {
caseInformation[i] = information[i].textContent;
}
// does the first row contain court, type of decision and date? Then clean up data!
var i = caseInformation[0].indexOf("Urteil vom");
if (i == -1) i = caseInformation[0].indexOf("Beschluss vom")
if (i != -1) {
caseInformation.splice(1, 0, caseInformation[0].substr(i));
caseInformation[0] = caseInformation[0].substring(0, i);
}
item.title = caseInformation[3];
item.court = caseInformation[0];
item.docketNumber = caseInformation[2];
item.reporter = "JurPC WebDok";
var cite = ZU.xpathText(doc, '//h3');
var year = cite.match(/\/(\d{4})/);
var webdok = cite.match(/Dok. (\d+)\//);
if (webdok && year) {
item.reporterVolume = " " + webdok[1] + "/" + year[1];
}
item.url = url;
var date = caseInformation[1].match(/\b(\d{1,2})\.\s*(\d{1,2})\.\s*(\d{4})\b/);
if (date) {
item.dateDecided = date[3] + "-" + date[2] + "-" + date[1];
}
// store type of decision
if (/Beschluss./i.test(caseInformation[1])) {
item.extra = "{:genre: Beschl.}";
}
else if (/Urteil/i.test(caseInformation[1])) {
item.extra = "{:genre: Urt.}";
}
var doi = ZU.xpathText(doc, '//span[@class="resultinfo left"]')
if (doi) {
item.DOI = ZU.cleanDOI(doi);
}
item.language = "de-DE";
item.attachments = [{
title: "JurPC Snapshot",
document: doc
}];
item.complete();
}
}
/** BEGIN TEST CASES **/
var testCases = [
{
"type": "web",
"url": "http://www.jurpc.de/jurpc/show?id=20110132",
"items": [
{
"itemType": "journalArticle",
"title": "Die datenschutzrechtliche Einwilligung des Beschäftigten",
"creators": [
{
"firstName": "Johannes",
"lastName": "Habermalz",
"creatorType": "author"
}
],
"DOI": "10.7328/jurpcb/2011268130",
"language": "de-DE",
"libraryCatalog": "JurPC",
"url": "http://www.jurpc.de/jurpc/show?id=20110132",
"volume": "WebDok 132/2011",
"attachments": [
{
"title": "JurPC Snapshot"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "http://www.jurpc.de/jurpc/show?id=20000220",
"items": [
{
"itemType": "case",
"caseName": "OEM-Version",
"creators": [],
"dateDecided": "2000-07-06",
"court": "BGH",
"docketNumber": "I ZR 244/97",
"extra": "{:genre: Urt.}",
"language": "de-DE",
"reporter": "JurPC WebDok",
"reporterVolume": "220/2000",
"url": "http://www.jurpc.de/jurpc/show?id=20000220",
"attachments": [
{
"title": "JurPC Snapshot"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "http://www.jurpc.de/jurpc/show?id=20140193",
"items": [
{
"itemType": "case",
"caseName": "Zur Haftung des Domainregistrars für Domaininhalte",
"creators": [],
"dateDecided": "2014-10-22",
"court": "Saarländisches Oberlandesgericht",
"docketNumber": "1 U 25/14",
"extra": "{:genre: Urt.}",
"language": "de-DE",
"reporter": "JurPC WebDok",
"reporterVolume": "193/2014",
"url": "http://www.jurpc.de/jurpc/show?id=20140193",
"attachments": [
{
"title": "JurPC Snapshot"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "http://www.jurpc.de/jurpc/show?id=20140165",
"items": [
{
"itemType": "case",
"caseName": "Deus Ex",
"creators": [],
"dateDecided": "2014-05-15",
"court": "BGH",
"docketNumber": "I ZB 71/13",
"extra": "{:genre: Beschl.}",
"language": "de-DE",
"reporter": "JurPC WebDok",
"reporterVolume": "165/2014",
"url": "http://www.jurpc.de/jurpc/show?id=20140165",
"attachments": [
{
"title": "JurPC Snapshot"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "http://www.jurpc.de/jurpc/show?id=20140194",
"items": [
{
"itemType": "journalArticle",
"title": "Tagungsbericht über den 3. IT-Rechtstag in Frankfurt am Main",
"creators": [
{
"firstName": "Wolfgang",
"lastName": "Kuntz",
"creatorType": "author"
}
],
"DOI": "10.7328/jurpcb20142912190",
"language": "de-DE",
"libraryCatalog": "JurPC",
"url": "http://www.jurpc.de/jurpc/show?id=20140194",
"volume": "WebDok 194/2014",
"attachments": [
{
"title": "JurPC Snapshot"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
}
]
/** END TEST CASES **/
You can’t perform that action at this time.