Skip to content

Commit 36d5895

Browse files
committed
add option to parse pagetitle
1 parent 7e6c534 commit 36d5895

1 file changed

Lines changed: 27 additions & 23 deletions

File tree

src/harvester.mjs

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -416,30 +416,34 @@ function harvester(req, res) {
416416
return new Promise((resolve, reject) => reject("page not found"));
417417
}
418418
revid = response.data.query.pages[m.pageid].revisions[0].revid;
419-
let params = parseMediawikiTemplate(
420-
response.data.query.pages[m.pageid].revisions[0].slots.main["*"],
421-
job.templateprefixes,
422-
job.templateredirects,
423-
job.template
424-
);
425-
if (params === null) {
426-
return new Promise((resolve, reject) => reject("template not found"));
427-
}
428-
if (job.parameters.length !== 0) {
429-
for (let pp of job.parameters) {
430-
if (pp in params) {
431-
rawValue = params[pp];
432-
break;
433-
}
434-
}
419+
if (job.pagetitle) {
420+
rawValue = response.data.query.pages[m.pageid].title;
435421
} else {
436-
//if multiple parameters need to be parsed, e.g. dates
437-
if (job.aparameter1 && job.aparameter1 in params) {
438-
rawValue = [params[job.aparameter1]];
439-
if (job.aparameter2 && job.aparameter2 in params) {
440-
rawValue.push(params[job.aparameter2]);
441-
if (job.aparameter3 && job.aparameter3 in params) {
442-
rawValue.push(params[job.aparameter3]);
422+
let params = parseMediawikiTemplate(
423+
response.data.query.pages[m.pageid].revisions[0].slots.main["*"],
424+
job.templateprefixes,
425+
job.templateredirects,
426+
job.template
427+
);
428+
if (params === null) {
429+
return new Promise((resolve, reject) => reject("template not found"));
430+
}
431+
if (job.parameters.length !== 0) {
432+
for (let pp of job.parameters) {
433+
if (pp in params) {
434+
rawValue = params[pp];
435+
break;
436+
}
437+
}
438+
} else {
439+
//if multiple parameters need to be parsed, e.g. dates
440+
if (job.aparameter1 && job.aparameter1 in params) {
441+
rawValue = [params[job.aparameter1]];
442+
if (job.aparameter2 && job.aparameter2 in params) {
443+
rawValue.push(params[job.aparameter2]);
444+
if (job.aparameter3 && job.aparameter3 in params) {
445+
rawValue.push(params[job.aparameter3]);
446+
}
443447
}
444448
}
445449
}

0 commit comments

Comments
 (0)