Show EoC errors, only show ISSN when there are no article IDs

This commit is contained in:
Jonathan Harker 2026-09-23 00:01:52 +12:00
parent 2c0b7f935f
commit 360f04ee8e
2 changed files with 39 additions and 2 deletions

View file

@ -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)

View file

@ -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