Advertisement
OSRSMargins

Untitled

Oct 24th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. var xmlPath = "/Users/BenMason/Desktop/xml/";
  2. var artwork = {};
  3.  
  4. function ArtworkData(artworkID) {
  5. //Find and parse label id
  6. var file = new File(xmlPath + artworkID + ".XML");
  7. var xmlFile = new XML(readXMLFile(file));
  8. loadData(xmlToJson(xmlFile).entries.element);
  9. }
  10.  
  11. ArtworkData.prototype = {
  12. id : function() {
  13. return artwork.id;
  14. },
  15. job : function() {
  16. return artwork.job;
  17. },
  18. order : function() {
  19. return artwork.order;
  20. },
  21. leading : function() {
  22. return artwork.leading;
  23. },
  24. material : function() {
  25. return artwork.material;
  26. },
  27. barcode : function() {
  28. return {
  29. type : artwork.barcode.type,
  30. size : artwork.barcode.size,
  31. reduction : artwork.barcode.reduction,
  32. number : artwork.barcode.number
  33. };
  34. }
  35. };
  36.  
  37. function loadData(xml) {
  38. artwork.information = xml;
  39. artwork.id = xml["jobid"];
  40. artwork.job = getValue(xml["jobref"]);
  41. artwork.order = getValue(xml["orderref"]);
  42. artwork.leading = getValue(xml["reel"]);
  43. artwork.material = getValue(xml["printmaterial"]);
  44. artwork.barcode = {};
  45. artwork.barcode.type = getValue(xml["barcodetype"]);
  46. artwork.barcode.size = getValue(xml["barcodesize"]);
  47. artwork.barcode.reduction = getValue(xml["barwidthreduction"]);
  48. artwork.barcode.number = getValue(xml["barcodenumber"]);
  49. }
  50.  
  51. function getValue(obj) {
  52. try {
  53. return obj["text"];
  54. } catch (e) {
  55. return "";
  56. }
  57. }
  58.  
  59. function readXMLFile(file) {
  60. if (!file.exists) {
  61. throw "Cannot find file: " + deodeURI(file.absoluteURI);
  62. }
  63. file.encoding = "UTF8";
  64. file.lineFeed = "unix";
  65. file.open("r", "TEXT", "????");
  66. var str = file.read();
  67. file.close();
  68.  
  69. return new XML(str);
  70. };
  71.  
  72. function xmlToJson(xml) {
  73. // Create the return object
  74. var obj = {};
  75. if (xml.nodeKind() == "element") {
  76. if (xml.attributes().length() > 0) {
  77. for (var j = 0; j < xml.attributes().length(); j++) {
  78. var attributeName = xml.attributes()[j].name();
  79. obj[attributeName] = String(xml.attributes()[j]);
  80. }
  81. }
  82. } else if (xml.nodeKind() == "text") {
  83. obj['text'] = xml.text();
  84. }
  85. if (xml.children()) {
  86. for (var i = 0; i < xml.children().length(); i++) {
  87. var item = xml.child(i);
  88. if (xml.children()[i].nodeKind() == "text") {
  89. obj['text'] = xml.children()[i].toString();
  90. } else {
  91. var nodeName = item.name();
  92. if (typeof(obj[nodeName]) == "undefined") {
  93. obj[nodeName] = xmlToJson(item);
  94. } else {
  95. if (typeof(obj[nodeName].push) == "undefined") {
  96. var old = obj[nodeName];
  97. obj[nodeName] = [];
  98. obj[nodeName].push(old);
  99. }
  100. obj[nodeName].push(xmlToJson(item));
  101. }
  102. }
  103. }
  104. }
  105. return obj;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement