parser.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>parser module &#8212; DrawioConvert 0.2 documentation</title>
  8. <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
  9. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  10. <link rel="stylesheet" type="text/css" href="_static/styles.css" />
  11. <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
  12. <script type="text/javascript" src="_static/jquery.js"></script>
  13. <script type="text/javascript" src="_static/underscore.js"></script>
  14. <script type="text/javascript" src="_static/doctools.js"></script>
  15. <script type="text/javascript" src="_static/language_data.js"></script>
  16. <link rel="index" title="Index" href="genindex.html" />
  17. <link rel="search" title="Search" href="search.html" />
  18. </head><body>
  19. <div class="header" role="banner"><h1 class="heading"><a href="index.html">
  20. <span>DrawioConvert 0.2 documentation</span></a></h1>
  21. <h2 class="heading"><span>parser module</span></h2>
  22. </div>
  23. <div class="topnav" role="navigation" aria-label="top navigation">
  24. <p>
  25. <a class="uplink" href="index.html">Contents</a>
  26. </p>
  27. </div>
  28. <div class="content">
  29. <div class="section" id="module-parser">
  30. <span id="parser-module"></span><h1>parser module<a class="headerlink" href="#module-parser" title="Permalink to this headline">¶</a></h1>
  31. <p>Test</p>
  32. <dl class="data">
  33. <dt id="parser.IGNORE">
  34. <code class="descclassname">parser.</code><code class="descname">IGNORE</code><em class="property"> = ['id', 'label', 'placeholders', 'class_name']</em><a class="headerlink" href="#parser.IGNORE" title="Permalink to this definition">¶</a></dt>
  35. <dd><p>Properties to ignore when parsing.</p>
  36. </dd></dl>
  37. <dl class="class">
  38. <dt id="parser.Node">
  39. <em class="property">class </em><code class="descclassname">parser.</code><code class="descname">Node</code><span class="sig-paren">(</span><em>id</em>, <em>class_name</em>, <em>properties</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node" title="Permalink to this definition">¶</a></dt>
  40. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  41. <p>Identifies a node object, as found in drawio.
  42. On one hand used for the individual components,
  43. but on the other hand used as a “group” of multiple
  44. nodes.</p>
  45. <dl class="method">
  46. <dt id="parser.Node.add_connection">
  47. <code class="descname">add_connection</code><span class="sig-paren">(</span><em>source</em>, <em>target</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.add_connection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.add_connection" title="Permalink to this definition">¶</a></dt>
  48. <dd></dd></dl>
  49. <dl class="method">
  50. <dt id="parser.Node.add_input">
  51. <code class="descname">add_input</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.add_input"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.add_input" title="Permalink to this definition">¶</a></dt>
  52. <dd></dd></dl>
  53. <dl class="method">
  54. <dt id="parser.Node.add_output">
  55. <code class="descname">add_output</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.add_output"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.add_output" title="Permalink to this definition">¶</a></dt>
  56. <dd></dd></dl>
  57. <dl class="method">
  58. <dt id="parser.Node.get_connections">
  59. <code class="descname">get_connections</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.get_connections"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.get_connections" title="Permalink to this definition">¶</a></dt>
  60. <dd></dd></dl>
  61. <dl class="method">
  62. <dt id="parser.Node.get_inputs">
  63. <code class="descname">get_inputs</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.get_inputs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.get_inputs" title="Permalink to this definition">¶</a></dt>
  64. <dd></dd></dl>
  65. <dl class="method">
  66. <dt id="parser.Node.get_outputs">
  67. <code class="descname">get_outputs</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.get_outputs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.get_outputs" title="Permalink to this definition">¶</a></dt>
  68. <dd></dd></dl>
  69. <dl class="method">
  70. <dt id="parser.Node.get_properties_string">
  71. <code class="descname">get_properties_string</code><span class="sig-paren">(</span><em>ignore=[]</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.get_properties_string"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.get_properties_string" title="Permalink to this definition">¶</a></dt>
  72. <dd></dd></dl>
  73. <dl class="method">
  74. <dt id="parser.Node.is_empty">
  75. <code class="descname">is_empty</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Node.is_empty"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Node.is_empty" title="Permalink to this definition">¶</a></dt>
  76. <dd></dd></dl>
  77. </dd></dl>
  78. <dl class="class">
  79. <dt id="parser.Page">
  80. <em class="property">class </em><code class="descclassname">parser.</code><code class="descname">Page</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Page"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Page" title="Permalink to this definition">¶</a></dt>
  81. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  82. <p>A single page in drawio. Contains multiple nodes.</p>
  83. <dl class="method">
  84. <dt id="parser.Page.add_import">
  85. <code class="descname">add_import</code><span class="sig-paren">(</span><em>im</em>, <em>obj=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Page.add_import"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Page.add_import" title="Permalink to this definition">¶</a></dt>
  86. <dd></dd></dl>
  87. <dl class="method">
  88. <dt id="parser.Page.add_node">
  89. <code class="descname">add_node</code><span class="sig-paren">(</span><em>node</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Page.add_node"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Page.add_node" title="Permalink to this definition">¶</a></dt>
  90. <dd></dd></dl>
  91. <dl class="method">
  92. <dt id="parser.Page.get_imports">
  93. <code class="descname">get_imports</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Page.get_imports"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Page.get_imports" title="Permalink to this definition">¶</a></dt>
  94. <dd></dd></dl>
  95. <dl class="method">
  96. <dt id="parser.Page.get_nodes">
  97. <code class="descname">get_nodes</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Page.get_nodes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Page.get_nodes" title="Permalink to this definition">¶</a></dt>
  98. <dd></dd></dl>
  99. <dl class="method">
  100. <dt id="parser.Page.get_sanitized_name">
  101. <code class="descname">get_sanitized_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Page.get_sanitized_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Page.get_sanitized_name" title="Permalink to this definition">¶</a></dt>
  102. <dd></dd></dl>
  103. </dd></dl>
  104. <dl class="exception">
  105. <dt id="parser.ParseException">
  106. <em class="property">exception </em><code class="descclassname">parser.</code><code class="descname">ParseException</code><span class="sig-paren">(</span><em>message</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#ParseException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.ParseException" title="Permalink to this definition">¶</a></dt>
  107. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></p>
  108. <p>Semantic exceptions when parsing.</p>
  109. </dd></dl>
  110. <dl class="class">
  111. <dt id="parser.Parser">
  112. <em class="property">class </em><code class="descclassname">parser.</code><code class="descname">Parser</code><span class="sig-paren">(</span><em>filename</em>, <em>setup</em>, <em>ignore_empty_nodes=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Parser"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Parser" title="Permalink to this definition">¶</a></dt>
  113. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  114. <p>The drawio parser.</p>
  115. <dl class="method">
  116. <dt id="parser.Parser.create_node">
  117. <code class="descname">create_node</code><span class="sig-paren">(</span><em>root</em>, <em>attr</em>, <em>page</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Parser.create_node"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Parser.create_node" title="Permalink to this definition">¶</a></dt>
  118. <dd></dd></dl>
  119. <dl class="staticmethod">
  120. <dt id="parser.Parser.decode_and_deflate">
  121. <em class="property">static </em><code class="descname">decode_and_deflate</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Parser.decode_and_deflate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Parser.decode_and_deflate" title="Permalink to this definition">¶</a></dt>
  122. <dd><p>Draw.io compresses each page as follows:
  123. First, all data is url-encoded
  124. Next, it is compressed/deflated
  125. Finally, it is encoded according to base64.</p>
  126. <p>To obtain the page data, we have to do the reverse.</p>
  127. <table class="docutils field-list" frame="void" rules="none">
  128. <col class="field-name" />
  129. <col class="field-body" />
  130. <tbody valign="top">
  131. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Uncompressed and decoded data as a string.</td>
  132. </tr>
  133. </tbody>
  134. </table>
  135. </dd></dl>
  136. <dl class="method">
  137. <dt id="parser.Parser.parse">
  138. <code class="descname">parse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Parser.parse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Parser.parse" title="Permalink to this definition">¶</a></dt>
  139. <dd><p>Does the actual file parsing.</p>
  140. <p>If the file is compressed, we uncompress and work from there.
  141. If it wasn’t compressed, we can work with the whole tree.</p>
  142. <table class="docutils field-list" frame="void" rules="none">
  143. <col class="field-name" />
  144. <col class="field-body" />
  145. <tbody valign="top">
  146. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A list of Node objects, representing the drawio file.</td>
  147. </tr>
  148. </tbody>
  149. </table>
  150. </dd></dl>
  151. <dl class="method">
  152. <dt id="parser.Parser.parse_page">
  153. <code class="descname">parse_page</code><span class="sig-paren">(</span><em>page</em>, <em>nroot</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#Parser.parse_page"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.Parser.parse_page" title="Permalink to this definition">¶</a></dt>
  154. <dd><p>Parses a single page of the model.</p>
  155. </dd></dl>
  156. </dd></dl>
  157. <dl class="function">
  158. <dt id="parser.parse_environment">
  159. <code class="descclassname">parser.</code><code class="descname">parse_environment</code><span class="sig-paren">(</span><em>vars</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/parser.html#parse_environment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#parser.parse_environment" title="Permalink to this definition">¶</a></dt>
  160. <dd><p>Parses the set of environment variables, given with the
  161. <code class="code docutils literal notranslate"><span class="pre">-E</span></code>/<code class="code docutils literal notranslate"><span class="pre">--environment</span></code> variable.</p>
  162. </dd></dl>
  163. </div>
  164. </div>
  165. <div class="bottomnav" role="navigation" aria-label="bottom navigation">
  166. <p>
  167. <a class="uplink" href="index.html">Contents</a>
  168. </p>
  169. </div>
  170. <div class="footer" role="contentinfo">
  171. &#169; Copyright 2020, Randy Paredis.
  172. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
  173. </div>
  174. </body>
  175. </html>