Difference between revisions of "Module:Entity"

From Wikibase.slis.ua.edu
Jump to navigation Jump to search
Line 25: Line 25:
  
 
function p.get2ndLevelProp ( frame )
 
function p.get2ndLevelProp ( frame )
 +
    -- return mw.wikibase.getEntityIdForTitle(mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value)
 +
    pv = mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']
 +
 +
    pv2 = mw.wikibase.getEntity(pv):getBestStatements( frame.args[2] )[1].mainsnak.datavalue.value['id']
 +
    if pv2 ~= nil then
 +
        return pv2
 +
    else
 +
        return mw.wikibase.getEntity(pv):formatPropertyValues( frame.args[2] ).value
 +
    end
 +
end
 +
 +
function p.get2ndLevelSL ( frame )
 
     -- return mw.wikibase.getEntityIdForTitle(mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value)
 
     -- return mw.wikibase.getEntityIdForTitle(mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value)
 
     pv = mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']
 
     pv = mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']

Revision as of 19:43, 16 April 2019

Documentation for this module may be created at Module:Entity/doc

local p = {} -- p stands for package

function p.get( frame )
     return mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)
end

function p.getUrl ( frame )
     return mw.wikibase.getEntityUrl(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text))
end
function p.getSiteLink ( frame )
     return mw.wikibase.getSitelink(mw.wikibase.getEntityIdForTitle(frame.args[0]))
end


function p.getProp ( frame )
     -- return mw.wikibase.getEntityIdForTitle(mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value)
     pv = mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']
     sl = mw.wikibase.getSitelink(pv)
     if sl ~= nil then
        return sl
     else
        return mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value
     end
end

function p.get2ndLevelProp ( frame )
     -- return mw.wikibase.getEntityIdForTitle(mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value)
     pv = mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']

     pv2 = mw.wikibase.getEntity(pv):getBestStatements( frame.args[2] )[1].mainsnak.datavalue.value['id']
     if pv2 ~= nil then
        return pv2 
     else
        return mw.wikibase.getEntity(pv):formatPropertyValues( frame.args[2] ).value
     end
end

function p.get2ndLevelSL ( frame )
     -- return mw.wikibase.getEntityIdForTitle(mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):formatPropertyValues( frame.args[1] ).value)
     pv = mw.wikibase.getEntity(mw.wikibase.getEntityIdForTitle(mw.title.getCurrentTitle().text)):getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']

     pv2 = mw.wikibase.getEntity(pv):getBestStatements( frame.args[2] )[1].mainsnak.datavalue.value['id']

     sl = mw.wikibase.getSitelink(pv2)
     if sl ~= nil then
        return sl
     else
        return mw.wikibase.getEntity(pv):formatPropertyValues( frame.args[2] ).value
     end
end

return p