Modul:Wikidata/Formatters

Interní modul, který zprostředkovává převod strukturovaných dat do wikitextu. Každému typu hodnoty je vytvořen základní formátovací submodul, pro účely specifického formátování lze naprogramovat vlastní formátovací submodul.

Struktura submodulu

-- vzorový submodul, viz [[Modul:Wikidata/Formatters/empty]]

require 'Modul:No globals'

local p = {}

function p.getRawValue(value, options)
	-- extract a human readable value or just call a native module for this type
	return mw.dumpObject(value)
end

function p.formatRawValue(value, options)
	-- do formatting here
	return value
end

function p.formatValue(value, options)
	local raw = p.getRawValue(value, options)
	return p.formatRawValue(raw, options)
end

return p

Doporučeno je implementovat a exportovat tyto tři metody:

getRawValue
Převede strukturovaná data do raw hodnoty, kterou lze dále zpracovávat (např. šablonami nebo parserovými funkcemi ve wikitextu). Návratovou hodnotou může být řetězec nebo objekt (tabulka) implementující metametodu __tostring.
formatRawValue
Převede raw hodnotu (typicky takovou, kterou vrací getRawValue) do wikitextu, který bude zobrazen čtenáři.
formatValue
Zformátuje strukturovaná data do wikitextu, který bude zobrazen čtenáři. Lze implementovat jako ve vzorovém modulu kombinací getRawValue a formatRawValue nebo samostatně, zvlášť pokud by se takto ztrácely informace.

Dostupné submoduly

Základní:

Vlastní:


require 'Modul:No globals'

local p = {}

p.Formatters = {}
setmetatable(p.Formatters, {
	__index = function(t, key)
		t[key] = require('Modul:Wikidata/Formatters/' .. key)
		return t[key]
	end
})

local lib = require 'Modul:Wikidata/lib'

local function formatSpecial(snaktype, options)
	local i18n = mw.loadData('Modul:Wikidata/i18n')
	return options[snaktype] or i18n[snaktype] -- todo: přeložit pomocí hlášení
end

function p.getRawValue(snak, options)
	if snak.snaktype == 'somevalue' or snak.snaktype == 'novalue' then
		return snak.snaktype
	elseif snak.snaktype ~= 'value' then
		return error(lib.formatError('unknown-snak-type', snak.snaktype))
	end

	return p.Formatters[snak.datavalue.type].getRawValue(snak.datavalue.value, options or {})
end

function p.formatRawValue(value, formatter, options)
	options = options or {}
	if value == 'somevalue' or value == 'novalue' then
		return formatSpecial(value, options)
	else
		return p.Formatters[formatter].formatRawValue(value, options)
	end
end

function p.getFormattedValue(snak, options)
	if snak.snaktype == 'somevalue' or snak.snaktype == 'novalue' then
		return formatSpecial(snak.snaktype, options)
	elseif snak.snaktype ~= 'value' then
		return error(lib.formatError('unknown-snak-type', snak.snaktype))
	end

	local formatter = options['value-formatter'] or snak.datavalue.type
	if formatter == 'built-in' then
		return mw.wikibase.formatValue(snak)
	else
		return p.Formatters[formatter].formatValue(snak.datavalue.value, options)
	end
end

return p

Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Modul:Wikidata/Formatters
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.