local p = {}
local function useMCA(code)
local parts = mw.text.split(code, "/")
return not (parts[4] and parts[4]:match("^[45]")) and (code:match("000/000$") or #code <= 8)
end
function p.generateCitation(frame)
local code = frame.args[1] or ""
if useMCA(code) then
local digits = code:gsub("000/000", ""):gsub("%D", "")
local wikitext = string.format(
"{{Cite web |url=https://dmfw.mca.gov.cn/9095/xzqh/getList?code=%s |title=行政区划搜索接口-{{PRC admin/plainname|%s}} |website=中国·国家地名信息库}}",
digits, code
)
return frame:preprocess(wikitext)
else
local wikitext = string.format(
"{{Cite web|url=http://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/{{#switch:{{PRC admin/level|%s}}|0=index|1={{PRC admin/stripcode|%s}}|#default={{PRC admin/stripcode|{{PRC admin/parent|%s}}}}/{{PRC admin/stripslashes|{{PRC admin/stripcode|%s}}}}}}.html|title=2023年{{PRC admin/plainname|%s}}统计用区划代码和城乡划分代码|publisher=[[国家统计局|中华人民共和国国家统计局]]|date=2023|language=zh-cn}}{{Dead link}}",
code, code, code, code, code
)
return frame:preprocess(wikitext)
end
end
return p