Under some circumstances, wpkg.js tries to parse non-existing .xml files, and writes an "ERROR" into the log file. This is misleading in situations where it is normal that the file does not exist. For example, when using a "packages" directory of .xml files instead of a single packages.xml file, wpkg.js still tries to parse the non-existing packages.xml. I have a cron job parsing the log files for "ERROR"s, and now it prints these for every reboot of every machine, because the log contains: 2012-02-23 15:13:33, DEBUG : Reading XML file: //192.168.44.1/install/wpkg/packages/twixtel.xml 2012-02-23 15:13:33, DEBUG : Reading XML file: //192.168.44.1/install/wpkg/packages/user-settings.xml 2012-02-23 15:13:33, DEBUG : Reading XML file: //192.168.44.1/install/wpkg/packages.xml 2012-02-23 15:13:33, *ERROR : Error parsing xml '//192.168.44.1/install/wpkg/packages.xml*': Das Stylesheet enth▒lt kein Dokumentelement. [... etc.] 2012-02-23 15:13:33, *ERROR : No root element found in '//192.168.44.1/install/wpkg/packages.xml'*. For now, I patched loadXml() to only try to load the xml if the file actually exists. Otherwise, print debug info and skip it. Now I have this in the log, which seems better: 2012-02-23 21:00:29, DEBUG : Reading XML file: //192.168.44.1/install/wpkg/packages/twixtel.xml 2012-02-23 21:00:29, DEBUG : Reading XML file: //192.168.44.1/install/wpkg/packages/user-settings.xml 2012-02-23 21:00:29, *DEBUG : Skipping non-existing XML file: //192.168.44.1/install/wpkg/packages.xml* This is the change I did to wpkg.js version 1.3.0: ==================================== $ diff -u wpkg.js.orig wpkg.js --- wpkg.js.orig 2011-12-08 15:03:24.000000000 +0100 +++ wpkg.js 2012-02-23 20:40:14.000000000 +0100 @@ -7740,7 +7740,14 @@ for( var i=0; i < filePaths.length; i++) { var filePath = filePaths[i]; - dinfo("Reading XML file: " + filePath); + var fso = new ActiveXObject("Scripting.FileSystemObject") + if (fso.FileExists(filePath)) { + dinfo("Reading XML file: " + filePath); + } else { + dinfo("Skipping non-existing XML file: " + filePath); + continue; + } + // Read XML file from file system. var xsl = new ActiveXObject("Msxml2.DOMDocument.3.0"); ==================================== Maybe the line var fso = new ActiveXObject("Scripting.FileSystemObject") should be moved before the for loop for efficiency? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.wpkg.org/pipermail/wpkg-users/attachments/20120223/fd5bdd3c/attachment.html> |