Modul:WikidataCommonscat

Fra Judo-database
Revisjon per 2. apr. 2015 kl. 15:43 av Kristoffer-halmoy (diskusjon | bidrag) (Importerte én revisjon)
(diff) ← Eldre revisjon | Nåværende revisjon (diff) | Nyere revisjon → (diff)
Hopp til navigering Hopp til søk

local p = {}

function dump( out )

   if type( out ) == 'table' then
       local s = '{ '
       for k,v in pairs( out ) do
               if type( k ) ~= 'number' then k = '"'..k..'"' end
               s = s .. '['..k..'] = ' .. dump( v ) .. ','
       end
       return s .. '} 
' else return tostring( out ) end

end

-- Returner commons categori til artikkelen fra wikidata function p.wikidatacommonscat(frame)

   if not mw.wikibase then
       return ""
   end
   local artikkel = mw.wikibase.getEntityObject()
   if not artikkel then
       return ""
   end
   local claims = artikkel.claims
   if not claims then
       return ""
   end
   local p373 = claims.P373  -- ikke p men P
   if not p373 then
       return "" 
   end
return p373[1].mainsnak.datavalue.value

end

function p.framecommonscat(frame)

   local args = frame.args
   if args[1] == nil then
       local pFrame = frame:getParent();
       args = pFrame.args;
       for k,v in pairs( frame.args ) do
           args[k] = v;
       end
    end
    if args['comcat'] then
       return args['comcat']
    end
    return ""

end

function p.comparecommonscat(frame)

   local comcatframe = p.framecommonscat(frame)
   local comcatwikidata = p.wikidatacommonscat(frame)
   if comcatframe == comcatwikidata then
       if comcatframe == "" then
           return ""
       else
           return ""
       end
   else
       if comcatwikidata == "" then
           return ""
       end
       if comcatframe == "" then
           return ""
       end
       return ""
   end

end

function p.velgcommonscat(frame)

   local commonscat = p.framecommonscat(frame)
   if commonscat then
       if commonscat == "" then
           return p.wikidatacommonscat(frame)
       else
          return commonscat
       end
   else
       return p.wikidatacommonscat(frame) -- ser ikke ut til å komme hit
   end
   return p.wikidatacommonscat(frame) -- ser ikke ut til å komme hit

end

return p