Difference between revisions of "Module:Entity"

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

Revision as of 21:51, 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 )
     
     currTitle = mw.title.getCurrentTitle().text
     currEntityId = mw.wikibase.getEntityIdForTitle(currTitle)
     currEntity = mw.wikibase.getEntity(currEntityId)
     if currEntity ~= nil then
        pv = currEntity:getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']
        sl = mw.wikibase.getSitelink(pv)
        if sl ~= nil then
           return sl
        else
           return currEntity:formatPropertyValues( frame.args[1] ).value
        end
     else
        return ""
     end
end


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

function p.get2ndLevelProp ( frame )
   currTitle = mw.title.getCurrentTitle().text
   currEntityId = mw.wikibase.getEntityIdForTitle(currTitle)
   currEntity = mw.wikibase.getEntity(currEntityId)
   if currEntity ~= nil then
      pv = currEntity:getBestStatements( frame.args[1] )[1].mainsnak.datavalue.value['id']
      currEntity2 = mw.wikibase.getEntity(pv)
      if currEntity2 ~= nil then
         pv2 = currEntity2:getBestStatements( frame.args[2] )[1].mainsnak.datavalue.value['id']
         if pv2 ~= nil then
            return pv2 
         else
            return currEntity2:formatPropertyValues( frame.args[2] ).value
         end
      end
   end		
end

return p