Modulo:LCCN

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:LCCN/man (modifica · cronologia)
Sandbox: Modulo:LCCN/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:LCCN/test (modifica · cronologia · Esegui)
Questo modulo serve in appoggio al Template:Controllo di autorità per gestire la diversa formattazione del codice LCCN presente su Wikidata e quella utilizzata nel template.
Vedi il manuale del template per l'uso.
local p = {}
function p.format( frame )
local code=frame.args.id
code=mw.ustring.gsub(code,"%s","")
code=mw.ustring.gsub(code,"^http:\/\/lccn\.loc\.gov\/(.+)$","$1")
local findStart,findEnd=mw.ustring.find(code,"%a\/?%d+\/")
if findEnd~=nil then
code=mw.ustring.sub(code,0,findEnd)..mw.ustring.rep("0",6-mw.ustring.len(mw.ustring.sub(code,mw.ustring.find(code,"%d+",findEnd,false))))..mw.ustring.sub(code,findEnd+1)
end
code=mw.ustring.gsub(code,"[\-\/%s]","")
code=mw.ustring.sub(code,0,mw.ustring.find(code,"%d%d")+1)..mw.ustring.rep("0",8-mw.ustring.len(mw.ustring.match(code,"%d+")))..mw.ustring.sub(code,mw.ustring.find(code,"%d%d")+2)
return code
end
return p