From 0db99fe530377dc4d6be9011fa3152ec4423d3b6 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 7 Aug 2021 00:42:07 -0400 Subject: [PATCH] When adding not:* tag, remove the old wikipedia and wikidata tags --- modules/validations/outdated_tags.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/validations/outdated_tags.js b/modules/validations/outdated_tags.js index 72d78a28b..430e6bd16 100644 --- a/modules/validations/outdated_tags.js +++ b/modules/validations/outdated_tags.js @@ -161,8 +161,16 @@ export function validationOutdatedTags() { if (!item) return graph; let newTags = Object.assign({}, currEntity.tags); // shallow copy - const k = `not:${item.mainTag}`; - newTags[k] = item.tags[item.mainTag]; + const wd = item.mainTag; // e.g. `brand:wikidata` + const notwd = `not:${wd}`; // e.g. `not:brand:wikidata` + const qid = item.tags[wd]; + newTags[notwd] = qid; + + if (newTags[wd] === qid) { // if `brand:wikidata` was set to that qid + const wp = item.mainTag.replace('wikidata', 'wikipedia'); + delete newTags[wd]; // remove `brand:wikidata` + delete newTags[wp]; // remove `brand:wikipedia` + } return actionChangeTags(currEntity.id, newTags)(graph); }