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,"^http:\/\/lccn\.loc\.gov\/(.+)$","$1")
    code=mw.ustring.sub(code,0,mw.ustring.find(code,"%d+\/%d+"))
    code=mw.ustring.gsub(code,"[\-\/%s]","")
    return 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)
end

function p.test( frame )
    local code=frame.args.id
    code=mw.ustring.gsub(code,"^http:\/\/lccn\.loc\.gov\/(.+)$","$1")
    return mw.ustring.sub(code,mw.ustring.find(code,"%d+",mw.ustring.find(code,"%d+\/%d+"),false))
end

return p