Modul:KategoriKjønn: Forskjell mellom sideversjoner

Fra wikisida.no
Hopp til navigering Hopp til søk
Tok ut mytologiske vesen frå kategoriseringa
107 er død, lenge leve 31
Linje 8: Linje 8:
     local artikkel = mw.wikibase.getEntityObject()
     local artikkel = mw.wikibase.getEntityObject()
     if not artikkel then
     if not artikkel then
         return "[[Kategori:Artiklar som manglar på Wikidata]]"
         return "[[Kategori:Artikler som mangler på Wikidata]]"
     end
     end
     local claims = artikkel.claims
     local claims = artikkel.claims
     if not claims then
     if not claims then
         return "[[Kategori:Artikler som manglar utsegn på Wikidata]]"
         return "[[Kategori:Artikler som mangler utsagn på Wikidata]]"
    end
    local p31 = claims.P31
    if p31 then
    local gnd = p31[1].mainsnak.datavalue.value["numeric-id"]
    if gnd ~= 5 then
    return ""
    end
     end
     end
     local p21 = claims.P21
     local p21 = claims.P21
     if not p21 then
     if not p21 then
         local p107 = claims.P107
         local p31 = claims.P31
         if p107 then
         if p31 then
             local gnd = p107[1].mainsnak.datavalue.value["numeric-id"]
             local forekomst = p31[1].mainsnak.datavalue.value["numeric-id"]
             if gnd == 215627 then
             if forekomst == 5 then
                 return "[[Kategori:Artiklar som manglar utsegn om kjønn på Wikidata]]"
                 return "[[Kategori:Artikler som mangler utsagn om kjønn på Wikidata]]"
             end
             end
         end
         end
Linje 33: Linje 26:
     end
     end
     if p21[1].mainsnak.datavalue == nil then
     if p21[1].mainsnak.datavalue == nil then
         return "[[Kategori:Ukjent kjønn]]"
         return "[[Kategori:Kjønn ukjent]]"
     else
     else
         local kjonnid = p21[1].mainsnak.datavalue.value["numeric-id"]
         local kjonnid = p21[1].mainsnak.datavalue.value["numeric-id"]
         local kjonn = mw.wikibase.label( "Q" ..kjonnid)
         local kjonn = mw.wikibase.label( "Q" ..kjonnid)
         if kjonn == "mann" then
         if kjonn == "mann" then
             return "[[Kategori:Einskildmenn]]"
             return "[[Kategori:Menn]]"
         elseif kjonn == "kvinne" then
         elseif kjonn == "kvinne" then
             return  "[[Kategori:Einskildkvinner]]"
             return  "[[Kategori:Kvinner]]"
         else
         else
             return "[[Kategori:Ukjent kjønn]]"
             return "[[Kategori:Kjønn ukjent]]"
         end
         end
     end
     end

Sideversjonen fra 21. mai 2017 kl. 20:16

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.getEntityObject()
    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 p31 = claims.P31
        if p31 then
            local forekomst = p31[1].mainsnak.datavalue.value["numeric-id"]
            if forekomst == 5 then
                return "[[Kategori:Artikler som mangler utsagn om kjønn på Wikidata]]"
            end
        end
        return ""
    end
    if p21[1].mainsnak.datavalue == nil then
        return "[[Kategori:Kjønn ukjent]]"
    else
        local kjonnid = p21[1].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