Remove unused functions
This commit is contained in:
@@ -1,139 +1,109 @@
|
||||
local XMLNode = {}
|
||||
local XMLNode = {
|
||||
new = function(name)
|
||||
return {
|
||||
value = nil,
|
||||
name = name,
|
||||
children = {},
|
||||
attributes = {},
|
||||
|
||||
XMLNode.new = function(name)
|
||||
local node = {}
|
||||
node.value = nil
|
||||
node.name = name
|
||||
node.children = {}
|
||||
node.attributes = {}
|
||||
addChild = function(self, child)
|
||||
if self[child.name] ~= nil then
|
||||
if type(self[child.name].name) == "function" then
|
||||
local tempTable = {}
|
||||
table.insert(tempTable, self[child.name])
|
||||
self[child.name] = tempTable
|
||||
end
|
||||
table.insert(self[child.name], child)
|
||||
else
|
||||
self[child.name] = child
|
||||
end
|
||||
table.insert(self.children, child)
|
||||
end,
|
||||
|
||||
function node:addChild(child)
|
||||
if self[child.name] ~= nil then
|
||||
if type(self[child.name].name) == "function" then
|
||||
local tempTable = {}
|
||||
table.insert(tempTable, self[child.name])
|
||||
self[child.name] = tempTable
|
||||
addAttribute = function(self, name, value)
|
||||
self.attributes[name] = value
|
||||
end
|
||||
table.insert(self[child.name], child)
|
||||
else
|
||||
self[child.name] = child
|
||||
end
|
||||
table.insert(self.children, child)
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
function node:addAttribute(name, value)
|
||||
self.attributes[name] = value
|
||||
end
|
||||
|
||||
return node
|
||||
end
|
||||
|
||||
local XMLParser = {}
|
||||
|
||||
function XMLParser.XmlValue(name, tab)
|
||||
local var
|
||||
if(type(tab)~="table")then return end
|
||||
if(tab[name]~=nil)then
|
||||
if(type(tab[name])=="table")then
|
||||
if(tab[name].value~=nil)then
|
||||
var = tab[name].value
|
||||
end
|
||||
end
|
||||
end
|
||||
if(var==nil)then var = tab["@"..name] end
|
||||
|
||||
if(var=="true")then
|
||||
var = true
|
||||
elseif(var=="false")then
|
||||
var = false
|
||||
elseif(tonumber(var)~=nil)then
|
||||
var = tonumber(var)
|
||||
end
|
||||
return var
|
||||
end
|
||||
|
||||
function XMLParser:ToXmlString(value)
|
||||
value = string.gsub(value, "&", "&"); -- '&' -> "&"
|
||||
value = string.gsub(value, "<", "<"); -- '<' -> "<"
|
||||
value = string.gsub(value, ">", ">"); -- '>' -> ">"
|
||||
value = string.gsub(value, "\"", """); -- '"' -> """
|
||||
value = string.gsub(value, "([^%w%&%;%p%\t% ])",
|
||||
function(c)
|
||||
return string.format("&#x%X;", string.byte(c))
|
||||
end);
|
||||
return value;
|
||||
end
|
||||
|
||||
function XMLParser:FromXmlString(value)
|
||||
value = string.gsub(value, "&#x([%x]+)%;",
|
||||
function(h)
|
||||
return string.char(tonumber(h, 16))
|
||||
end);
|
||||
value = string.gsub(value, "&#([0-9]+)%;",
|
||||
function(h)
|
||||
return string.char(tonumber(h, 10))
|
||||
end);
|
||||
value = string.gsub(value, """, "\"");
|
||||
value = string.gsub(value, "'", "'");
|
||||
value = string.gsub(value, ">", ">");
|
||||
value = string.gsub(value, "<", "<");
|
||||
value = string.gsub(value, "&", "&");
|
||||
return value;
|
||||
end
|
||||
|
||||
function XMLParser:ParseAttributes(node, s)
|
||||
local parseAttributes = function(node, s)
|
||||
-- Parse "" style attributes
|
||||
local _, _ = string.gsub(s, "(%w+)=([\"'])(.-)%2", function(w, _, a)
|
||||
node:addAttribute(w, "\"" .. self:FromXmlString(a) .. "\"")
|
||||
local _, _ = string.gsub(s, "(%w+)=([\"'])(.-)%2", function(attribute, _, value)
|
||||
node:addAttribute(attribute, "\"" .. value .. "\"")
|
||||
end)
|
||||
-- Parse {} style attributes
|
||||
local _, _ = string.gsub(s, "(%w+)={(.-)}", function(w, a)
|
||||
node:addAttribute(w, a)
|
||||
local _, _ = string.gsub(s, "(%w+)={(.-)}", function(attribute, expression)
|
||||
node:addAttribute(attribute, expression)
|
||||
end)
|
||||
end
|
||||
|
||||
function XMLParser:ParseXmlText(xmlText)
|
||||
local stack = {}
|
||||
local top = XMLNode.new()
|
||||
table.insert(stack, top)
|
||||
local ni, c, label, xarg, empty
|
||||
local i, j = 1, 1
|
||||
while true do
|
||||
ni, j, c, label, xarg, empty = string.find(xmlText, "<(%/?)([%w_:]+)(.-)(%/?)>", i)
|
||||
if not ni then break end
|
||||
local text = string.sub(xmlText, i, ni - 1);
|
||||
if not string.find(text, "^%s*$") then
|
||||
local lVal = (top.value or "") .. self:FromXmlString(text)
|
||||
stack[#stack].value = lVal
|
||||
local XMLParser = {
|
||||
xmlValue = function(name, tab)
|
||||
local var
|
||||
if(type(tab)~="table")then return end
|
||||
if(tab[name]~=nil)then
|
||||
if(type(tab[name])=="table")then
|
||||
if(tab[name].value~=nil)then
|
||||
var = tab[name].value
|
||||
end
|
||||
end
|
||||
end
|
||||
if empty == "/" then -- empty element tag
|
||||
local lNode = XMLNode.new(label)
|
||||
self:ParseAttributes(lNode, xarg)
|
||||
top:addChild(lNode)
|
||||
elseif c == "" then -- start tag
|
||||
local lNode = XMLNode.new(label)
|
||||
self:ParseAttributes(lNode, xarg)
|
||||
table.insert(stack, lNode)
|
||||
top = lNode
|
||||
else -- end tag
|
||||
local toclose = table.remove(stack) -- remove top
|
||||
if(var==nil)then var = tab["@"..name] end
|
||||
|
||||
top = stack[#stack]
|
||||
if #stack < 1 then
|
||||
error("XMLParser: nothing to close with " .. label)
|
||||
end
|
||||
if toclose.name ~= label then
|
||||
error("XMLParser: trying to close " .. toclose.name .. " with " .. label)
|
||||
end
|
||||
top:addChild(toclose)
|
||||
if(var=="true")then
|
||||
var = true
|
||||
elseif(var=="false")then
|
||||
var = false
|
||||
elseif(tonumber(var)~=nil)then
|
||||
var = tonumber(var)
|
||||
end
|
||||
i = j + 1
|
||||
return var
|
||||
end,
|
||||
|
||||
parseText = function(xmlText)
|
||||
local stack = {}
|
||||
local top = XMLNode.new()
|
||||
table.insert(stack, top)
|
||||
local ni, c, label, xarg, empty
|
||||
local i, j = 1, 1
|
||||
while true do
|
||||
ni, j, c, label, xarg, empty = string.find(xmlText, "<(%/?)([%w_:]+)(.-)(%/?)>", i)
|
||||
if not ni then break end
|
||||
local text = string.sub(xmlText, i, ni - 1);
|
||||
if not string.find(text, "^%s*$") then
|
||||
local lVal = (top.value or "") .. text
|
||||
stack[#stack].value = lVal
|
||||
end
|
||||
if empty == "/" then -- empty element tag
|
||||
local lNode = XMLNode.new(label)
|
||||
parseAttributes(lNode, xarg)
|
||||
top:addChild(lNode)
|
||||
elseif c == "" then -- start tag
|
||||
local lNode = XMLNode.new(label)
|
||||
parseAttributes(lNode, xarg)
|
||||
table.insert(stack, lNode)
|
||||
top = lNode
|
||||
else -- end tag
|
||||
local toclose = table.remove(stack) -- remove top
|
||||
|
||||
top = stack[#stack]
|
||||
if #stack < 1 then
|
||||
error("XMLParser: nothing to close with " .. label)
|
||||
end
|
||||
if toclose.name ~= label then
|
||||
error("XMLParser: trying to close " .. toclose.name .. " with " .. label)
|
||||
end
|
||||
top:addChild(toclose)
|
||||
end
|
||||
i = j + 1
|
||||
end
|
||||
local text = string.sub(xmlText, i);
|
||||
if #stack > 1 then
|
||||
error("XMLParser: unclosed " .. stack[#stack].name)
|
||||
end
|
||||
return top
|
||||
end
|
||||
local text = string.sub(xmlText, i);
|
||||
if #stack > 1 then
|
||||
error("XMLParser: unclosed " .. stack[#stack].name)
|
||||
end
|
||||
return top
|
||||
end
|
||||
}
|
||||
|
||||
return XMLParser
|
||||
|
||||
@@ -30,7 +30,7 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(XMLParser.XmlValue("background-symbol", data)~=nil)then self:setBackgroundSymbol(XMLParser.XmlValue("background-symbol", data), XMLParser.XmlValue("background-symbol-color", data)) end
|
||||
if(XMLParser.xmlValue("background-symbol", data)~=nil)then self:setBackgroundSymbol(XMLParser.xmlValue("background-symbol", data), XMLParser.xmlValue("background-symbol-color", data)) end
|
||||
return self
|
||||
end,
|
||||
|
||||
|
||||
@@ -340,9 +340,9 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
local animX, animY, animateDuration, animeteTimeOffset, animateMode = XMLParser.XmlValue("animateX", data), XMLParser.XmlValue("animateY", data), XMLParser.XmlValue("animateDuration", data), XMLParser.XmlValue("animateTimeOffset", data), XMLParser.XmlValue("animateMode", data)
|
||||
local animW, animH, animateDuration, animeteTimeOffset, animateMode = XMLParser.XmlValue("animateW", data), XMLParser.XmlValue("animateH", data), XMLParser.XmlValue("animateDuration", data), XMLParser.XmlValue("animateTimeOffset", data), XMLParser.XmlValue("animateMode", data)
|
||||
local animXOffset, animYOffset, animateDuration, animeteTimeOffset, animateMode = XMLParser.XmlValue("animateXOffset", data), XMLParser.XmlValue("animateYOffset", data), XMLParser.XmlValue("animateDuration", data), XMLParser.XmlValue("animateTimeOffset", data), XMLParser.XmlValue("animateMode", data)
|
||||
local animX, animY, animateDuration, animeteTimeOffset, animateMode = XMLParser.xmlValue("animateX", data), XMLParser.xmlValue("animateY", data), XMLParser.xmlValue("animateDuration", data), XMLParser.xmlValue("animateTimeOffset", data), XMLParser.xmlValue("animateMode", data)
|
||||
local animW, animH, animateDuration, animeteTimeOffset, animateMode = XMLParser.xmlValue("animateW", data), XMLParser.xmlValue("animateH", data), XMLParser.xmlValue("animateDuration", data), XMLParser.xmlValue("animateTimeOffset", data), XMLParser.xmlValue("animateMode", data)
|
||||
local animXOffset, animYOffset, animateDuration, animeteTimeOffset, animateMode = XMLParser.xmlValue("animateXOffset", data), XMLParser.xmlValue("animateYOffset", data), XMLParser.xmlValue("animateDuration", data), XMLParser.xmlValue("animateTimeOffset", data), XMLParser.xmlValue("animateMode", data)
|
||||
if(animX~=nil and animY~=nil)then
|
||||
self:animatePosition(animX, animY, animateDuration, animeteTimeOffset, animateMode)
|
||||
end
|
||||
|
||||
@@ -197,7 +197,7 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(XMLParser.XmlValue("fontSize", data)~=nil)then self:setFontSize(XMLParser.XmlValue("fontSize", data)) end
|
||||
if(XMLParser.xmlValue("fontSize", data)~=nil)then self:setFontSize(XMLParser.xmlValue("fontSize", data)) end
|
||||
return self
|
||||
end,
|
||||
|
||||
|
||||
@@ -84,16 +84,16 @@ return {
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data)
|
||||
local borders = {}
|
||||
if(XMLParser.XmlValue("border", data)~=nil)then
|
||||
borders["top"] = colors[XMLParser.XmlValue("border", data)]
|
||||
borders["bottom"] = colors[XMLParser.XmlValue("border", data)]
|
||||
borders["left"] = colors[XMLParser.XmlValue("border", data)]
|
||||
borders["right"] = colors[XMLParser.XmlValue("border", data)]
|
||||
if(XMLParser.xmlValue("border", data)~=nil)then
|
||||
borders["top"] = colors[XMLParser.xmlValue("border", data)]
|
||||
borders["bottom"] = colors[XMLParser.xmlValue("border", data)]
|
||||
borders["left"] = colors[XMLParser.xmlValue("border", data)]
|
||||
borders["right"] = colors[XMLParser.xmlValue("border", data)]
|
||||
end
|
||||
if(XMLParser.XmlValue("borderTop", data)~=nil)then borders["top"] = colors[XMLParser.XmlValue("borderTop", data)] end
|
||||
if(XMLParser.XmlValue("borderBottom", data)~=nil)then borders["bottom"] = colors[XMLParser.XmlValue("borderBottom", data)] end
|
||||
if(XMLParser.XmlValue("borderLeft", data)~=nil)then borders["left"] = colors[XMLParser.XmlValue("borderLeft", data)] end
|
||||
if(XMLParser.XmlValue("borderRight", data)~=nil)then borders["right"] = colors[XMLParser.XmlValue("borderRight", data)] end
|
||||
if(XMLParser.xmlValue("borderTop", data)~=nil)then borders["top"] = colors[XMLParser.xmlValue("borderTop", data)] end
|
||||
if(XMLParser.xmlValue("borderBottom", data)~=nil)then borders["bottom"] = colors[XMLParser.xmlValue("borderBottom", data)] end
|
||||
if(XMLParser.xmlValue("borderLeft", data)~=nil)then borders["left"] = colors[XMLParser.xmlValue("borderLeft", data)] end
|
||||
if(XMLParser.xmlValue("borderRight", data)~=nil)then borders["right"] = colors[XMLParser.xmlValue("borderRight", data)] end
|
||||
self:setBorder(borders["top"], borders["bottom"], borders["left"], borders["right"])
|
||||
return self
|
||||
end
|
||||
|
||||
@@ -3,7 +3,7 @@ local utils = require("utils")
|
||||
local uuid = utils.uuid
|
||||
|
||||
local function maybeExecuteScript(data, renderContext)
|
||||
local script = XMLParser.XmlValue('script', data)
|
||||
local script = XMLParser.xmlValue('script', data)
|
||||
if (script ~= nil) then
|
||||
load(script, nil, "t", renderContext.env)()
|
||||
end
|
||||
@@ -228,7 +228,7 @@ return {
|
||||
renderContext.env = _ENV
|
||||
renderContext.env.props = props
|
||||
local f = fs.open(path, "r")
|
||||
local data = XMLParser:ParseXmlText(f.readAll())
|
||||
local data = XMLParser.parseText(f.readAll())
|
||||
f.close()
|
||||
lastXMLReferences = {}
|
||||
maybeExecuteScript(data, renderContext)
|
||||
@@ -278,8 +278,8 @@ return {
|
||||
if(data["rules"]["rule"].attributes~=nil)then tab = {data["rules"]["rule"]} end
|
||||
for k,v in pairs(tab)do
|
||||
|
||||
if(XMLParser.XmlValue("pattern", v)~=nil)then
|
||||
self:addRule(XMLParser.XmlValue("pattern", v), colors[XMLParser.XmlValue("fg", v)], colors[XMLParser.XmlValue("bg", v)])
|
||||
if(XMLParser.xmlValue("pattern", v)~=nil)then
|
||||
self:addRule(XMLParser.xmlValue("pattern", v), colors[XMLParser.xmlValue("fg", v)], colors[XMLParser.xmlValue("bg", v)])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -293,7 +293,7 @@ return {
|
||||
Thread = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, data, renderContext)
|
||||
local script = XMLParser.XmlValue("start", data)~=nil
|
||||
local script = XMLParser.xmlValue("start", data)~=nil
|
||||
if(script~=nil)then
|
||||
local f = load(script, nil, "t", renderContext.env)
|
||||
self:start(f)
|
||||
@@ -326,7 +326,7 @@ return {
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
if(self:getType()~="Radio")then
|
||||
self:addItem(XMLParser.XmlValue("text", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
self:addItem(XMLParser.xmlValue("text", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -354,7 +354,7 @@ return {
|
||||
local tab = data["item"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
self:addItem(XMLParser.XmlValue("text", v), XMLParser.XmlValue("x", v), XMLParser.XmlValue("y", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
self:addItem(XMLParser.xmlValue("text", v), XMLParser.xmlValue("x", v), XMLParser.xmlValue("y", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
end
|
||||
end
|
||||
return self
|
||||
@@ -371,7 +371,7 @@ return {
|
||||
local tab = data["item"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,_ in pairs(tab)do
|
||||
self:addDataPoint(XMLParser.XmlValue("value"))
|
||||
self:addDataPoint(XMLParser.xmlValue("value"))
|
||||
end
|
||||
end
|
||||
return self
|
||||
@@ -389,7 +389,7 @@ return {
|
||||
local tab = data["node"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
local n = node:addNode(XMLParser.XmlValue("text", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
local n = node:addNode(XMLParser.xmlValue("text", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
addNode(n, v)
|
||||
end
|
||||
end
|
||||
@@ -398,7 +398,7 @@ return {
|
||||
local tab = data["node"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
local n = self:addNode(XMLParser.XmlValue("text", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
local n = self:addNode(XMLParser.xmlValue("text", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
addNode(n, v)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -32,7 +32,7 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(XMLParser.XmlValue("shadow", data)~=nil)then self:setShadow(XMLParser.XmlValue("shadow", data)) end
|
||||
if(XMLParser.xmlValue("shadow", data)~=nil)then self:setShadow(XMLParser.xmlValue("shadow", data)) end
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
@@ -111,9 +111,9 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(XMLParser.XmlValue("texture", data)~=nil)then self:addTexture(XMLParser.XmlValue("texture", data), XMLParser.XmlValue("animate", data)) end
|
||||
if(XMLParser.XmlValue("textureMode", data)~=nil)then self:setTextureMode(XMLParser.XmlValue("textureMode", data)) end
|
||||
if(XMLParser.XmlValue("infinitePlay", data)~=nil)then self:setInfinitePlay(XMLParser.XmlValue("infinitePlay", data)) end
|
||||
if(XMLParser.xmlValue("texture", data)~=nil)then self:addTexture(XMLParser.xmlValue("texture", data), XMLParser.xmlValue("animate", data)) end
|
||||
if(XMLParser.xmlValue("textureMode", data)~=nil)then self:setTextureMode(XMLParser.xmlValue("textureMode", data)) end
|
||||
if(XMLParser.xmlValue("infinitePlay", data)~=nil)then self:setInfinitePlay(XMLParser.xmlValue("infinitePlay", data)) end
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user