Jump to: navigation, search

Module:CraftingDPL: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
local p = {}
local p = {}


function p.explode(inputstr, sep)
function p.explode(delimiter, text)
    local t={}
  local list = {}; local pos = 1
    local i=1
  if string.find("", delimiter, 1) then
    for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
    -- We'll look at error handling later!
        t[i] = str
    error("delimiter matches empty string!")
        i = i+1
  end
  while 1 do
    local first, last = string.find(text, delimiter, pos)
    print (first, last)
    if first then
      table.insert(list, string.sub(text, pos, first-1))
      pos = last+1
    else
      table.insert(list, string.sub(text, pos))
      break
     end
     end
    return t
  end
  return list
end
end


function p.parseCats(frame)
function p.parseCats(frame)
     local s = tostring(frame.args[1])
     local s = tostring(frame.args[1])
     local arr = p.explode(s, ";")
     local arr = p.explode(";", s)
     local s2 = "1"
     local s2 = "1"
     for k,v in pairs(arr) do
     for k,v in pairs(arr) do

Revision as of 19:39, 13 February 2014

Returns a list of categories based on the string of items that are used for crafting. Used in the creation of DPL categories for crafting templates.


local p = {}

function p.explode(delimiter, text)
  local list = {}; local pos = 1
  if string.find("", delimiter, 1) then
    -- We'll look at error handling later!
    error("delimiter matches empty string!")
  end
  while 1 do
    local first, last = string.find(text, delimiter, pos)
    print (first, last)
    if first then
      table.insert(list, string.sub(text, pos, first-1))
      pos = last+1
    else
      table.insert(list, string.sub(text, pos))
      break
    end
  end
  return list
end

function p.parseCats(frame)
    local s = tostring(frame.args[1])
    local arr = p.explode(";", s)
    local s2 = "1"
    for k,v in pairs(arr) do
        s2 = s2.."[[Category:Recipe using "..v.."]] " 
    end
    return s2
end

return p


Cookies help us deliver our services. By using our services, you agree to our use of cookies.