Modul:Wikidata/lib
Skočit na navigaci
Skočit na vyhledávání
Věci přenesené přes šablony z cs:wiki
require "Modul:No globals" local p = { common = require "Modul:Functions", props = { begin = { 'P569', 'P580' }, ending = { 'P570', 'P582' }, lang = { 'P364', 'P407' }, point = { 'P571', 'P577', 'P585' }, } } local i18n = mw.loadData("Modul:Wikidata/i18n") function p.addWdClass(str) return '<span class="wd">' .. str .. '</span>' end function p.IsSnakValue(snak) return snak.snaktype == 'value' end function p.IsOptionTrue(options, key) if options[key] then if tostring(options[key]) == 'true' or tostring(options[key]) == 'yes' or tostring(options[key]) == '1' then return true end end return false end function p.textToTable(something, options) if type(something) ~= "table" then local options = options or {} local split_pattern = options.split_pattern or "%s*,%s*" if p.IsOptionTrue(options, 'upper') then something = mw.ustring.upper(something) elseif p.IsOptionTrue(options, 'upperfirst') then something = p.common.stringToUpper(something) end something = mw.text.split(something, split_pattern) end return p.common.cleanArgs(something) end function p.getEntityIdFromValue(value) local entityType = value['entity-type'] if entityType == 'item' then return 'Q' .. value['numeric-id'] elseif entityType == 'property' then return 'P' .. value['numeric-id'] else return error(p.formatError('unknown-entity-type', entityType)) end end function p.category(key, ...) local Category = require 'Modul:Kategorie' local title = mw.title.getCurrentTitle() return Category.makeCategory(mw.ustring.format(i18n.categories[key], ...), '0,14', title.text) end function p.formatFromPattern(str, pattern) return mw.ustring.gsub(pattern, '$1', str) .. '' --Hack to get only the first result of the function end function p.formatError(key, ...) return mw.ustring.format(i18n.errors[key], ...) end function p.raiseInvalidDatatype(method, allowed, provided) if type(allowed) ~= 'table' then allowed = { allowed } end return p.formatError('invalid-datatype2', method, mw.listToText(allowed, '“, „', '“ nebo „'), provided) end return p