zhtest / WikibaseClientLite /mw.wikibase.lua
arolstar52's picture
Upload 6 files
82413ac verified
Raw
History Blame Contribute Delete
3.38 kB
-- Minimal mw.wikibase compatibility shim.
-- This intentionally returns nil/empty results because the container does not
-- include a local Wikidata repository. The goal is to keep zhwiki modules from
-- crashing when they probe mw.wikibase.
local wikibase = {}
local function emptyTable()
return {}
end
local dummyEntity = {
id = nil,
type = 'item',
schemaVersion = 2,
labels = {},
descriptions = {},
aliases = {},
claims = {},
statements = {},
sitelinks = {}
}
function dummyEntity:getLabel()
return nil
end
function dummyEntity:getLabelWithLang()
return nil, nil
end
function dummyEntity:getDescription()
return nil
end
function dummyEntity:getAliases()
return {}
end
function dummyEntity:getSitelink()
return nil
end
function dummyEntity:getBestStatements()
return {}
end
function dummyEntity:getAllStatements()
return {}
end
function dummyEntity:formatPropertyValues()
return {}
end
function dummyEntity:formatStatements()
return {}
end
function dummyEntity:getProperties()
return {}
end
local function newDummyEntity( id )
local entity = {}
for k, v in pairs( dummyEntity ) do
entity[k] = v
end
entity.id = id
return entity
end
function wikibase.getEntity( id )
if id == nil or id == '' then
return nil
end
return newDummyEntity( id )
end
function wikibase.getEntityObject( id )
return wikibase.getEntity( id )
end
function wikibase.getEntityIdForCurrentPage()
return nil
end
function wikibase.getEntityIdForTitle()
return nil
end
function wikibase.getEntityUrl( id )
if type( id ) == 'string' and id ~= '' then
return 'https://www.wikidata.org/wiki/' .. id
end
return nil
end
function wikibase.getLabel()
return nil
end
function wikibase.getLabelWithLang()
return nil, nil
end
function wikibase.getLabelByLang()
return nil
end
function wikibase.getDescription()
return nil
end
function wikibase.getDescriptionWithLang()
return nil, nil
end
function wikibase.getDescriptionByLang()
return nil
end
function wikibase.getAliases()
return {}
end
function wikibase.getSitelink()
return nil
end
function wikibase.getBadges()
return {}
end
function wikibase.getBestStatements()
return {}
end
function wikibase.getAllStatements()
return {}
end
function wikibase.getStatement()
return nil
end
function wikibase.formatValue()
return nil
end
function wikibase.renderSnak()
return nil
end
function wikibase.renderSnaks()
return nil
end
function wikibase.formatStatement()
return nil
end
function wikibase.formatStatements()
return {}
end
function wikibase.getReferencedEntityId()
return nil
end
function wikibase.resolvePropertyId( id )
if type( id ) == 'string' and id:match( '^P%d+$' ) then
return id
end
return nil
end
function wikibase.getPropertyId( id )
return wikibase.resolvePropertyId( id )
end
function wikibase.getLanguageFallbacksFor( lang )
if type( lang ) == 'string' and lang ~= '' then
return { lang }
end
return {}
end
function wikibase.setupInterface()
wikibase.setupInterface = nil
mw = mw or {}
mw.wikibase = wikibase
package.loaded['mw.wikibase'] = wikibase
package.loaded['mw.wikibase.entity'] = dummyEntity
end
return wikibase