Difference between revisions of "Module:Data"
(Interface to handle Module:Database.) |
(Update interface for lua database additions (modifiers and editions).) |
||
Line 24: | Line 24: | ||
return type( arg ) == 'string' | return type( arg ) == 'string' | ||
and arg:lower() | and arg:lower() | ||
− | :gsub( | + | :gsub( '%-', '' ) -- Remove dashes. |
− | :gsub( | + | :gsub( ' ', '' ) -- Remove spaces. |
− | :gsub( 'north', '' ) -- Remove "north". | + | :gsub( 'north', '' ) -- Remove "north". |
− | :gsub( 'rare$', '' ) -- Remove "rare" at the end. | + | :gsub( 'edition', '' ) -- Remove "edition". |
+ | :gsub( 'rare$', '' ) -- Remove "rare" at the end. | ||
or nil | or nil | ||
; | ; | ||
Line 65: | Line 66: | ||
function D.getLanguage( arg ) | function D.getLanguage( arg ) | ||
return DATA.language[ D.getLn( arg ) ]; | return DATA.language[ D.getLn( arg ) ]; | ||
+ | end | ||
+ | |||
+ | -- @name getEd | ||
+ | -- @parameter {string} «arg» | ||
+ | -- @return {string|nil} Edition abbreviation. | ||
+ | -- @description Gets the edition abbreviation for «arg». «nil» if not found. | ||
+ | function D.getEd( arg ) | ||
+ | return DATA.ed[ normalize( arg ) ]; | ||
+ | end | ||
+ | |||
+ | -- @name getEdition | ||
+ | -- @parameter {string} «arg» | ||
+ | -- @return {string|nil} Edition name. | ||
+ | -- @description Gets the edition name for «arg». «nil» if not found. | ||
+ | function D.getEdition( arg ) | ||
+ | return DATA.edition[ D.getEd( arg ) ]; | ||
+ | end | ||
+ | |||
+ | -- @name getMod | ||
+ | -- @parameter {string} «arg» | ||
+ | -- @return {string|nil} Modifier abbreviation. | ||
+ | -- @description Gets the modifier abbreviation for «arg». «nil» if not found. | ||
+ | function D.getMod( arg ) | ||
+ | return DATA.mod[ normalize( arg ) ]; | ||
+ | end | ||
+ | |||
+ | -- @name getModifier | ||
+ | -- @parameter {string} «arg» | ||
+ | -- @return {string|nil} Modifier name. | ||
+ | -- @description Gets the modifier name for «arg». «nil» if not found. | ||
+ | function D.getModifier( arg ) | ||
+ | return DATA.modifier[ D.getMod( arg ) ]; | ||
end | end | ||
Revision as of 19:11, 3 May 2018
- Data/Templates
- Data/data
- Data/doc
- Data/endpoints
- Data/loader
- Data/namespaces/anime
- Data/namespaces/anime/endpoints
- Data/namespaces/anime/static/release
- Data/namespaces/anime/static/release/data
- Data/namespaces/anime/static/series
- Data/namespaces/anime/static/series/data
- Data/namespaces/manga
- Data/namespaces/manga/endpoints
- Data/namespaces/manga/static/release
- Data/namespaces/manga/static/release/data
- Data/namespaces/manga/static/series
- Data/namespaces/manga/static/series/data
- Data/namespaces/videoGames
- Data/namespaces/videoGames/endpoints
- Data/namespaces/videoGames/static/name
- Data/namespaces/videoGames/static/name/data
- Data/namespaces/videoGames/static/release
- Data/namespaces/videoGames/static/release/data
- Data/sandbox
- Data/smw/cardType
- Data/smw/name
- Data/smw/releaseDate
- Data/smw/translatedName
- Data/static/edition
- Data/static/edition/data
- Data/static/language
- Data/static/language/data
- Data/static/medium
- Data/static/medium/data
- Data/static/rarity
- Data/static/rarity/data
- Data/static/region
- Data/static/region/data
- Data/static/release
- Data/static/release/data
-- <pre>
-- @name Data
-- @description Interface for Module:Database.
-- @notes Internal-only, so far.
-- @author [[User:Becasita]]
-- @contact [[User talk:Becasita]]
-------------------
-- Export variable:
-------------------
local D = {};
--------------
-- Load data:
--------------
local DATA = mw.loadData( 'Module:Database' );
----------------------
-- Internal functions:
----------------------
-- @name normalize
-- @description Normalize de input.
local function normalize( arg )
return type( arg ) == 'string'
and arg:lower()
:gsub( '%-', '' ) -- Remove dashes.
:gsub( ' ', '' ) -- Remove spaces.
:gsub( 'north', '' ) -- Remove "north".
:gsub( 'edition', '' ) -- Remove "edition".
:gsub( 'rare$', '' ) -- Remove "rare" at the end.
or nil
;
end
-----------
-- Methods:
-----------
-- @name getRg
-- @parameter {string} «arg»
-- @return {string|nil} Region index.
-- @description Gets the region index for «arg». «nil» if not found.
function D.getRg( arg )
return DATA.rg[ normalize( arg ) ];
end
-- @name getRegion
-- @parameter {string} «arg»
-- @return {string|nil} Region name.
-- @description Gets the region name for «arg». «nil» if not found.
function D.getRegion( arg )
return DATA.region[ D.getRg( arg ) ];
end
-- @name getLn
-- @parameter {string} «arg»
-- @return {string|nil} Language index.
-- @description Gets the language index for «arg». «nil» if not found.
function D.getLn( arg )
return DATA.ln[ D.getRg( arg ) ];
end
-- @name getLanguage
-- @parameter {string} «arg»
-- @return {string|nil} Language name.
-- @description Gets the language name for «arg». «nil» if not found.
function D.getLanguage( arg )
return DATA.language[ D.getLn( arg ) ];
end
-- @name getEd
-- @parameter {string} «arg»
-- @return {string|nil} Edition abbreviation.
-- @description Gets the edition abbreviation for «arg». «nil» if not found.
function D.getEd( arg )
return DATA.ed[ normalize( arg ) ];
end
-- @name getEdition
-- @parameter {string} «arg»
-- @return {string|nil} Edition name.
-- @description Gets the edition name for «arg». «nil» if not found.
function D.getEdition( arg )
return DATA.edition[ D.getEd( arg ) ];
end
-- @name getMod
-- @parameter {string} «arg»
-- @return {string|nil} Modifier abbreviation.
-- @description Gets the modifier abbreviation for «arg». «nil» if not found.
function D.getMod( arg )
return DATA.mod[ normalize( arg ) ];
end
-- @name getModifier
-- @parameter {string} «arg»
-- @return {string|nil} Modifier name.
-- @description Gets the modifier name for «arg». «nil» if not found.
function D.getModifier( arg )
return DATA.modifier[ D.getMod( arg ) ];
end
-- @name getR
-- @parameter {string} «arg»
-- @return {string|nil} Rarity abbreviation.
-- @description Gets the rarity abbreviation for «arg». «nil» if not found.
function D.getR( arg )
return DATA.r[ normalize( arg ) ];
end
-- @name getRarity
-- @parameter {string} «arg»
-- @return {string|nil} Rarity name.
-- @description Gets the rarity name for «arg». «nil» if not found.
function D.getRarity( arg )
return DATA.rarity[ D.getR( arg ) ];
end
----------
-- Return:
----------
return D;
-- </pre>