-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: janusweb action: commit revision: path_from: revision_from: e761f2c6187980c27b2a802a8e65c981bb8dcfc2: path_to: revision_to:
commit e761f2c6187980c27b2a802a8e65c981bb8dcfc2 Author: James Baicoianu <james_github@baicoianu.com> Date: Thu Mar 23 22:58:02 2017 -0700 Fix for mismatched case causing assets to be lost diff --git a/scripts/external/JanusFireboxParser.js b/scripts/external/JanusFireboxParser.js
--- a/scripts/external/JanusFireboxParser.js +++ b/scripts/external/JanusFireboxParser.js @@ -78,7 +78,7 @@ JanusFireboxParser.prototype.getAsArray = function(arr) { return (arr instanceof Array ? arr : [arr]); } JanusFireboxParser.prototype.parseAssets = function(xml, baseurl, datapath) { - var assetxml = this.arrayget(xml, 'fireboxroom._children.assets', {}); + var assetxml = this.arrayget(xml, 'fireboxroom._children.assets.0', {}); var objectassets = this.getAsArray(this.arrayget(assetxml, "_children.assetobject", [])); var soundassets = this.getAsArray(this.arrayget(assetxml, "_children.assetsound", [])); var imageassets = this.getAsArray(this.arrayget(assetxml, "_children.assetimage", [])); @@ -246,7 +246,7 @@ JanusFireboxParser.prototype.parseXML = function(imgxml, leaf, forceLower) { if (!leaf) { var rootname = node.tagName; if (forceLower) rootname = rootname.toLowerCase(); - root[rootname] = {}; + if (!root[rootname]) root[rootname] = {}; parent = root[rootname]; //node = parent[node.tagName]; } else { @@ -265,11 +265,13 @@ JanusFireboxParser.prototype.parseXML = function(imgxml, leaf, forceLower) { var child = node.childNodes[j]; var nodename = child.nodeName; if (forceLower) nodename = nodename.toLowerCase(); - if (node.getElementsByTagName(child.tagName).length > 1) { - if (!parent._children) parent._children = {}; - if (!parent._children[nodename]) { - parent._children[nodename] = []; - } + if (!parent._children) parent._children = {}; + if (!parent._children[nodename]) { + parent._children[nodename] = []; + } else if (parent._children[nodename].constructor !== Array) { + parent._children[nodename] = [parent._children[nodename]]; + } + if (node.getElementsByTagName(child.tagName).length > 0) { parent._children[nodename].push(this.parseXML(child, true, forceLower)); } else if (child.nodeName) { if (child.nodeName == "#text" || child.nodeName == "#cdata-section") { @@ -278,8 +280,7 @@ JanusFireboxParser.prototype.parseXML = function(imgxml, leaf, forceLower) { parent._content = child.nodeValue; } } else { - if (!parent._children) parent._children = {}; - parent._children[nodename] = this.parseXML(child, true, forceLower); + parent._children[nodename] = parent._children[nodename].concat(this.parseXML(child, true, forceLower)); } } }
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 16:35:42 2024