Remove unused functions

This commit is contained in:
Sabine Lim
2023-05-16 21:13:10 +10:00
parent 45cbbcc865
commit 84f32c91a4
8 changed files with 120 additions and 150 deletions

View File

@@ -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, "<", "&lt;"); -- '<' -> "&lt;"
value = string.gsub(value, ">", "&gt;"); -- '>' -> "&gt;"
value = string.gsub(value, "\"", "&quot;"); -- '"' -> "&quot;"
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, "&quot;", "\"");
value = string.gsub(value, "&apos;", "'");
value = string.gsub(value, "&gt;", ">");
value = string.gsub(value, "&lt;", "<");
value = string.gsub(value, "&amp;", "&");
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

View File

@@ -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,

View File

@@ -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

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
}