Modulo:LCCN

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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