Modul:KategoriKjønn: Forskjell mellom sideversjoner

Fra wikisida.no
Hopp til navigering Hopp til søk
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.
mIngen redigeringsforklaring
Linje 20: Linje 20:
             local gnd = p107[0].mainsnak.datavalue.value["numeric-id"]
             local gnd = p107[0].mainsnak.datavalue.value["numeric-id"]
             if gnd == 215627 then
             if gnd == 215627 then
                 return "[[Kategori:Artikler som mangler utsagn om Kjønn på Wikidata]]"
                 return "[[Kategori:Artikler som mangler utsagn om kjønn på Wikidata]]"
             end
             end
         end
         end

Sideversjonen fra 23. jul. 2014 kl. 00:28

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