From 360f04ee8e4f0f79180bb1a777ea7b6384b6858e Mon Sep 17 00:00:00 2001 From: Jonathan Harker Date: Wed, 23 Sep 2026 00:01:52 +1200 Subject: [PATCH] Show EoC errors, only show ISSN when there are no article IDs --- module_citeq.lua | 37 ++++++++++++++++++++++++++++++++++++- module_citeq_config.lua | 4 +++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/module_citeq.lua b/module_citeq.lua index 65ec733..fe1f6fd 100644 --- a/module_citeq.lua +++ b/module_citeq.lua @@ -717,6 +717,15 @@ local function _cite_q (citeq_args) if not citeq_args.isbn then citeq_args.publisher = nil end + -- only display ISSN if there are no article identifiers + if citeq_args.issn then + if citeq_args.doi or citeq_args.pmid or citeq_args.pmc or citeq_args.arxiv or + citeq_args.bibcode or citeq_args.jstor or citeq_args.ssrn or citeq_args.s2cid or + citeq_args.hdl or citeq_args.biorxiv or citeq_args.osti or citeq_args.zbl or + citeq_args.jfm or citeq_args.mr then + citeq_args.issn = nil + end + end elseif is_thesis then template = template or "thesis" elseif citeq_args.isbn then @@ -826,6 +835,32 @@ local function _cite_q (citeq_args) citeq_args.erratum = nil citeq_args['erratum-checked'] = nil + -- Indicator if item has an expression of concern notice (P14891) + local eoc = "" + if citeq_args['expression-of-concern'] then + opt_cat = opt_cat .. cfg.i18n_t.trackingcats['expression-of-concern'] + local eoc_params = { + citeq = 'yes', + id = frame:expandTemplate{ + title = 'QID', args = {qid = string.gsub(citeq_args['expression-of-concern'], 'Q', '')} + } + } + eoc_params.doi = getValue({"P356", ps = 1, qid = citeq_args['expression-of-concern']}) or nil + eoc_params.doi = eoc_params.doi and eoc_params.doi:lower() or nil + eoc_params.bibcode = getValue({"P819", ps = 1, qid = citeq_args['expression-of-concern']}) or nil + eoc_params.pmc = getValue({"P932", ps = 1, qid = citeq_args['expression-of-concern']}) or nil + eoc_params.pmid = getValue({"P698", ps = 1, qid = citeq_args['expression-of-concern']}) or nil + -- check qualifiers for access=free + eoc_params['doi-access'] = getIdentifierAccess(citeq_args['expression-of-concern'], eoc_params, 'doi') + eoc_params['bibcode-access'] = getIdentifierAccess(citeq_args['expression-of-concern'], eoc_params, 'bibcode') + if 'yes' == citeq_args['eoc-intentional'] then + eoc_params.intentional = 'yes' + end + eoc = ' ' .. frame:expandTemplate{ title = "Expression of concern", args = eoc_params } + end + citeq_args['expression-of-concern'] = nil + citeq_args['eoc-intentional'] = nil + if citeq_args.replaced_by then opt_cat = opt_cat .. cfg.i18n_t.trackingcats.replaced citeq_args.replaced_by = nil @@ -851,7 +886,7 @@ local function _cite_q (citeq_args) title = "Cite "..template, args = citeq_args } .. cfg.i18n_t.trackingcats["unknown-template"] end - return output .. erratumid .. retract .. opt_cat + return output .. erratumid .. eoc .. retract .. opt_cat end local function cite_q (frame) diff --git a/module_citeq_config.lua b/module_citeq_config.lua index 8a53038..bd209f0 100644 --- a/module_citeq_config.lua +++ b/module_citeq_config.lua @@ -24,6 +24,7 @@ local i18n_t = { ["default"] = "th" }, ["trackingcats"] = { + ['expression-of-concern'] = "[[Category:Cite Q - cites a work with an expression of concern notice]]", ["erratum"] = "[[Category:Cite Q - cites a work with an erratum]]", ["missing-wikidata"] = "[[Category:Articles with missing Wikidata information]]", -- TODO: point to a {{cite q}}-specific category; this one is specific to Module:WikidataIB ['no-label-or-title'] = '[[Category:Cite Q - missing label or title]]', @@ -77,13 +78,14 @@ local simple_properties_t = { retracted_by = {id = "P5824", qidonly=true, maxvals = 1}, -- transient, non-CS1 replaced_by = {id = "P1366", qidonly=true, maxvals = 1}, -- transient, non-CS1 erratum = {id = "P2507", qidonly=true, maxvals = 1}, -- transient, non-CS1 + ['expression-of-concern'] = {id = "P14891", qidonly=true, maxvals = 1}, -- transient, non-CS1 -- citeseerx = {id = "P3784", maxvals = 1}, osti = {id = "P3894", maxvals = 1}, -- take care of |osti-access=? biorxiv = {id = "P3951", maxvals = 1}, asin = {id = "P5749", maxvals = 1}, -- What about |asin-tld=? (WD examples resolve to .com at present, but may change) ['article-number'] = {id = "P2322", maxvals = 1, populate_from_journal = true}, isbn = {id = "P212", maxvals = 1, populate_from_journal = true}, -- ISBN 13 --- issn = {id = "P236", maxvals = 1, populate_from_journal = true}, -- distinguish from |eissn= for electronic issues? + issn = {id = "P236", maxvals = 1, populate_from_journal = true}, -- distinguish from |eissn= for electronic issues? -- jfm = {id = "P?", maxvals = 1}, -- Jahrbuch über die Fortschritte der Mathematik (not Zbl) -- sbn = {id = "P?", maxvals = 1}, -- Standard Book Number (predecessor of ISBN, not ICCU) -- message-id = {id = "P?", maxvals = 1}, -- Usenet message ID