|
|
(16 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| -- <pre> | | -- <pre> |
− | -- @name Data
| + | return require( 'Module:Data/loader' )() |
− | -- @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( ' rare$', '' ) -- Remove " rare" at the end (and with a space before it).
| |
− | :gsub( ' ', '' ) -- Remove spaces.
| |
− | :gsub( '%-', '' ) -- Remove dashes.
| |
− | :gsub( '/', '' ) -- Remove slashes.
| |
− | :gsub( "'", '' ) -- Remove apostrophe.
| |
− | :gsub( 'north', '' ) -- Remove "north".
| |
− | :gsub( 'edition', '' ) -- Remove "edition".
| |
− | 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
| |
− | | |
− | -- TODO: delete later:
| |
− | function D.getRel( arg )
| |
− | return DATA.mod[ normalize( arg ) ];
| |
− | end
| |
− | | |
− | function D.getRelease( arg )
| |
− | return DATA.modifier[ D.getMod( arg ) ];
| |
− | end
| |
− | | |
− | ----------
| |
− | -- Return:
| |
− | ----------
| |
− | return D;
| |
| -- </pre> | | -- </pre> |