Template:LuaCodeToAccessCSVDataTemplates: Difference between revisions

From Against the Storm Official Wiki
(Created for some reusable documentation for data templates)
 
(Now promotes the shortcut method instead)
 
Line 4: Line 4:
You can use this wiki's data templates to retrieve the game data for use in any Lua module on this wiki. A utility module, <code>CsvUtils</code> processes the document for you, giving you just the CSV data, if you need to parse it yourself. Or, the utility module can split it for you into a Lua table.
You can use this wiki's data templates to retrieve the game data for use in any Lua module on this wiki. A utility module, <code>CsvUtils</code> processes the document for you, giving you just the CSV data, if you need to parse it yourself. Or, the utility module can split it for you into a Lua table.


To do this, you add these three lines in your Lua code:
To do this, you need these two lines in your Lua code:


# <code>local CsvUtils = require('Module:CsvUtils')</code>
# <code>local CsvUtils = require("Module:CsvUtils")</code>
# <code>local rawCSV = CsvUtils.extractCSV("{{{1|Template:Data_Template_csv}}}")</code>
# <code>local luaTable, headerLookup = CsvUtils.extractTables({{{1|Template:Data_Template_csv}}})</code>
# <code>local luaTable, headerLookup = CsvUtils.luaTableFromCSV(rawCSV)</code>
 
If you need the raw CSV code for some reason, to process it differently, the method '''extractTables''' is a shortcut method that calls two methods you can instead call directly: '''extractCSV''' and '''luaTableFromCSV.''' However, this is not advised.

Latest revision as of 18:51, 20 November 2023

This is a little reusable documentation snippet for data templates.

Explanation

You can use this wiki's data templates to retrieve the game data for use in any Lua module on this wiki. A utility module, CsvUtils processes the document for you, giving you just the CSV data, if you need to parse it yourself. Or, the utility module can split it for you into a Lua table.

To do this, you need these two lines in your Lua code:

  1. local CsvUtils = require("Module:CsvUtils")
  2. local luaTable, headerLookup = CsvUtils.extractTables(Template:Data_Template_csv)

If you need the raw CSV code for some reason, to process it differently, the method extractTables is a shortcut method that calls two methods you can instead call directly: extractCSV and luaTableFromCSV. However, this is not advised.