Skip to content

Commit 906042e

Browse files
authored
Merge pull request #25 from Wikidocumentaries/fix/crash-with-lexemes
Avoid crash by not trying to get a label for lexemes
2 parents 1bb589e + c075647 commit 906042e

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

wikidata.js

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,6 @@ async function getWikidata(wikidataItemID, language) {
160160
});
161161
});
162162

163-
// TODO get 50 ids at a time
164-
165163
const entities = await collectWikidataInfo(ids, language);
166164

167165
const translations =
@@ -411,35 +409,31 @@ async function getWikidata(wikidataItemID, language) {
411409
wikidata.statements.push(statement);
412410
}
413411
}
414-
// DEV
415-
// responseData.wikipedia = undefined;
416-
// responseData.wikipediaExcerptHTML = undefined;
417-
// responseData.wikipediaRemainingHTML = undefined;
418-
// END DEV
419412

420413
return {
421414
topic,
422415
wikidata,
423416
};
424417
}
425418

426-
419+
// Try to find a label in language (or English) for entity with id within entities
420+
// Return the first found: label in language, label in English, id within entities, empty string
427421
const findLabel = function (entities, id, language) {
428-
var label = "";
429-
for (var j = 0; j < entities.length; j++) {
430-
if (entities[j].id == id) {
431-
label = entities[j].labels[language] != undefined ? entities[j].labels[language].value : "";
432-
if (label == "") {
433-
label = entities[j].labels.en != undefined ? entities[j].labels.en.value : "";
422+
for (let j = 0; j < entities.length; j++) {
423+
if (entities[j].id === id) {
424+
const labels = entities[j].labels;
425+
let label = labels && labels[language] && labels[language].value;
426+
if (!label) {
427+
label = labels && labels["en"] && labels["en"].value;
434428
}
435-
if (label == "") {
429+
if (!label) {
436430
label = id;
437431
}
438-
break;
432+
return label;
439433
}
440434
}
441435

442-
return label;
436+
return "";
443437
}
444438

445439
const collectWikidataInfo = async function(allIDs, language) {

0 commit comments

Comments
 (0)