|
|
Line 1: |
Line 1: |
| -- Module:GetEcopedia (https://wiki.play.eco/en/Module:GetEcopedia)
| |
| local p = {} | | local p = {} |
|
| |
|
| -- Grabs args from the parent frame
| |
| -- Trims and parses the args into a table, then returns the table
| |
| function norm()
| |
| local origArgs = mw.getCurrentFrame():getParent().args
| |
| local args = {}
| |
|
| |
| for k, v in pairs( origArgs ) do
| |
| v = mw.text.trim( tostring( v ) )
| |
| if v ~= '' then
| |
| args[k] = v
| |
| end
| |
| end
| |
|
| |
| return args
| |
| end
| |
|
| |
| -- Main entry point for the Module
| |
| function p.main() | | function p.main() |
| -- get args from the Template | | local Utils = require('Module:Utils') |
| local args = norm()
| | local args = Utils.normaliseArgs(param) |
|
| | local String = "" |
| -- assign variables for page
| | local EcopediaList = require( "Module:EcopediaData" ) |
| local page = args.page
| | local String = EcopediaList[args.num] |
| | |
| -- load list of pages
| |
| local completeList = require( "Module:Ecopedia" )
| |
| local pageList = completeList.ecopedia
| |
|
| |
| -- sectionTypes constants
| |
| local bodySec = "EcopediaSection"
| |
| local headerSec = "EcopediaHeader" | |
|
| |
| -- create text to be returned"
| |
| local text = ""
| |
|
| |
| -- make sure page is not nil | |
| if page ~= nil then
| |
|
| |
| -- make sure page exists in ecopedia
| |
| local p = pageList[page]
| |
| if p ~= nil then
| |
|
| |
| -- main heading
| |
| text = text .. "\'\'\'" .. p.displayName .. "\'\'\'\n\n"
| |
|
| |
| -- loop through sections (i = array position, j= {sectionType, text} )
| |
| for i=1, #p.sectionsText do
| |
| -- create a local of the current section
| |
| local sec = p.sectionsText[i]
| |
|
| |
| if (sec[1] == bodySec) then
| |
| text = text .. sec[2] .. "\n\n"
| |
| end -- if bodySec
| |
|
| |
| if (sec[1] == headerSec) then
| |
| text = text .. "\'\'\'" .. sec[2] .. "\'\'\'\n\n"
| |
| end -- if headerSec
| |
|
| |
| end -- sections for loop
| |
|
| |
| end -- if exists in Ecopedia
| |
| else
| |
| text = "PAGE " .. page .. " NOT FOUND"
| |
| end -- if page not nil
| |
| | | |
| return text | | return String |
| end | | end |
|
| |
|
| return p | | return p |
This module provides the back end functionality of the Template:EcopediaString.
If the template is passed information will be displayed using details from the following Modules:
local p = {}
function p.main()
local Utils = require('Module:Utils')
local args = Utils.normaliseArgs(param)
local String = ""
local EcopediaList = require( "Module:EcopediaData" )
local String = EcopediaList[args.num]
return String
end
return p