From 84f32c91a45ca0c872c238e3cab0151b12e4f9fa Mon Sep 17 00:00:00 2001 From: Sabine Lim Date: Tue, 16 May 2023 21:13:10 +1000 Subject: [PATCH] Remove unused functions --- Basalt/libraries/xmlParser.lua | 214 +++++++++++--------------- Basalt/plugins/advancedBackground.lua | 2 +- Basalt/plugins/animations.lua | 6 +- Basalt/plugins/bigfonts.lua | 2 +- Basalt/plugins/border.lua | 18 +-- Basalt/plugins/reactive.lua | 20 +-- Basalt/plugins/shadow.lua | 2 +- Basalt/plugins/textures.lua | 6 +- 8 files changed, 120 insertions(+), 150 deletions(-) diff --git a/Basalt/libraries/xmlParser.lua b/Basalt/libraries/xmlParser.lua index c686330..b8f7c79 100644 --- a/Basalt/libraries/xmlParser.lua +++ b/Basalt/libraries/xmlParser.lua @@ -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 diff --git a/Basalt/plugins/advancedBackground.lua b/Basalt/plugins/advancedBackground.lua index 33e74ff..1eff6dd 100644 --- a/Basalt/plugins/advancedBackground.lua +++ b/Basalt/plugins/advancedBackground.lua @@ -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, diff --git a/Basalt/plugins/animations.lua b/Basalt/plugins/animations.lua index 36f41de..2897c88 100644 --- a/Basalt/plugins/animations.lua +++ b/Basalt/plugins/animations.lua @@ -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 diff --git a/Basalt/plugins/bigfonts.lua b/Basalt/plugins/bigfonts.lua index b4ae4ee..a1086ee 100644 --- a/Basalt/plugins/bigfonts.lua +++ b/Basalt/plugins/bigfonts.lua @@ -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, diff --git a/Basalt/plugins/border.lua b/Basalt/plugins/border.lua index 639ca89..6f4f093 100644 --- a/Basalt/plugins/border.lua +++ b/Basalt/plugins/border.lua @@ -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 diff --git a/Basalt/plugins/reactive.lua b/Basalt/plugins/reactive.lua index 5f5e3b6..9d46051 100644 --- a/Basalt/plugins/reactive.lua +++ b/Basalt/plugins/reactive.lua @@ -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 diff --git a/Basalt/plugins/shadow.lua b/Basalt/plugins/shadow.lua index 496bbbd..483a14b 100644 --- a/Basalt/plugins/shadow.lua +++ b/Basalt/plugins/shadow.lua @@ -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 } diff --git a/Basalt/plugins/textures.lua b/Basalt/plugins/textures.lua index e2790ab..76d8678 100644 --- a/Basalt/plugins/textures.lua +++ b/Basalt/plugins/textures.lua @@ -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 }