Modul:KategoriKjønn: Forskjell mellom sideversjoner

Fra wikisida.no
Hopp til navigering Hopp til søk
Ingen redigeringsforklaring
oppdaget at malen ga scriptfeil for Barnet til hertugen og hertuginnen av Cambridge. Kjønn var satt til "ukjent verdi", som ser ut til å tilsvare datavalue=nil.
Linje 25: Linje 25:
         return ""
         return ""
     end
     end
     local kjonnid = p21[0].mainsnak.datavalue.value["numeric-id"]
     if p21[0].mainsnak.datavalue == nil then
    local kjonn = mw.wikibase.label( "Q" ..kjonnid)
         return "[[Kategori:Kjønn ukjent]]"
    if kjonn == "mann" then
        return "[[Kategori:Menn]]"
    elseif kjonn == "kvinne" then
         return "[[Kategori:Kvinner]]"
     else
     else
         return "[[Kategori:Kjønn ukjent]]"
         local kjonnid = p21[0].mainsnak.datavalue.value["numeric-id"]
        local kjonn = mw.wikibase.label( "Q" ..kjonnid)
        if kjonn == "mann" then
            return "[[Kategori:Menn]]"
        elseif kjonn == "kvinne" then
            return  "[[Kategori:Kvinner]]"
        else
            return "[[Kategori:Kjønn ukjent]]"
        end
     end
     end
end
end


return p
return p

Sideversjonen fra 18. jul. 2013 kl. 21:22

Formål

Legger biografiartikler i artikkel basert på hvilket kjønn som er registrert i Wikidata.

Bruk

Modulen brukes ved å legge inn {{#invoke:KategoriKjønn|kjonnskategori}} i en mal. Malen {{KategoriKjønn}} har implementert dette.


local p = {}

-- Return kjønn til artikkelen
function p.kjonnskategori(frame)
    if not mw.wikibase then
        return ""
    end
    local artikkel = mw.wikibase.getEntity()
    if not artikkel then
        return "[[Kategori:Artikler som mangler på Wikidata]]"
    end
    local claims = artikkel.claims
    if not claims then
        return "[[Kategori:Artikler som mangler utsagn på Wikidata]]"
    end
    local p21 = claims.p21
    if not p21 then
        local p107 = claims.p107
        if p107 then
            local gnd = p107[0].mainsnak.datavalue.value["numeric-id"]
            if gnd == 215627 then
                return "[[Kategori:Artikler som mangler utsagn om Kjønn på Wikidata]]"
            end
        end
        return ""
    end
    if p21[0].mainsnak.datavalue == nil then
        return "[[Kategori:Kjønn ukjent]]"
    else
        local kjonnid = p21[0].mainsnak.datavalue.value["numeric-id"]
        local kjonn = mw.wikibase.label( "Q" ..kjonnid)
        if kjonn == "mann" then
            return "[[Kategori:Menn]]"
        elseif kjonn == "kvinne" then
            return  "[[Kategori:Kvinner]]"
        else
            return "[[Kategori:Kjønn ukjent]]"
        end
    end
end

return p