Update lorax 19.7.14 (lorax-composer) Documentation

This commit is contained in:
Brian C. Lane 2018-04-25 13:25:07 -07:00
parent 807ee72228
commit 5e61b32891
61 changed files with 2195 additions and 1289 deletions

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: d0036b060ae50548427b7f3aa21363e9 config: 47a43b17a6d818b63830719359188b5e
tags: fbb0d17656682115ca4d033fb2f83ba1 tags: fbb0d17656682115ca4d033fb2f83ba1

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.cli &mdash; Lorax 19.7.11 documentation</title> <title>composer.cli &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="Module code" href="../index.html" /> <link rel="up" title="Module code" href="../index.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li> <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -71,13 +71,13 @@
<span class="kn">import</span> <span class="nn">logging</span> <span class="kn">import</span> <span class="nn">logging</span>
<span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">&quot;composer-cli&quot;</span><span class="p">)</span> <span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">&quot;composer-cli&quot;</span><span class="p">)</span>
<span class="kn">from</span> <span class="nn">composer.cli.recipes</span> <span class="kn">import</span> <span class="n">recipes_cmd</span> <span class="kn">from</span> <span class="nn">composer.cli.blueprints</span> <span class="kn">import</span> <span class="n">blueprints_cmd</span>
<span class="kn">from</span> <span class="nn">composer.cli.modules</span> <span class="kn">import</span> <span class="n">modules_cmd</span> <span class="kn">from</span> <span class="nn">composer.cli.modules</span> <span class="kn">import</span> <span class="n">modules_cmd</span>
<span class="kn">from</span> <span class="nn">composer.cli.projects</span> <span class="kn">import</span> <span class="n">projects_cmd</span> <span class="kn">from</span> <span class="nn">composer.cli.projects</span> <span class="kn">import</span> <span class="n">projects_cmd</span>
<span class="kn">from</span> <span class="nn">composer.cli.compose</span> <span class="kn">import</span> <span class="n">compose_cmd</span> <span class="kn">from</span> <span class="nn">composer.cli.compose</span> <span class="kn">import</span> <span class="n">compose_cmd</span>
<span class="n">command_map</span> <span class="o">=</span> <span class="p">{</span> <span class="n">command_map</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">&quot;recipes&quot;</span><span class="p">:</span> <span class="n">recipes_cmd</span><span class="p">,</span> <span class="s">&quot;blueprints&quot;</span><span class="p">:</span> <span class="n">blueprints_cmd</span><span class="p">,</span>
<span class="s">&quot;modules&quot;</span><span class="p">:</span> <span class="n">modules_cmd</span><span class="p">,</span> <span class="s">&quot;modules&quot;</span><span class="p">:</span> <span class="n">modules_cmd</span><span class="p">,</span>
<span class="s">&quot;projects&quot;</span><span class="p">:</span> <span class="n">projects_cmd</span><span class="p">,</span> <span class="s">&quot;projects&quot;</span><span class="p">:</span> <span class="n">projects_cmd</span><span class="p">,</span>
<span class="s">&quot;compose&quot;</span><span class="p">:</span> <span class="n">compose_cmd</span> <span class="s">&quot;compose&quot;</span><span class="p">:</span> <span class="n">compose_cmd</span>
@ -138,7 +138,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>

View File

@ -0,0 +1,616 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.cli.blueprints &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '19.7.14',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="composer.cli" href="../cli.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<h1>Source code for composer.cli.blueprints</h1><div class="highlight"><pre>
<span class="c">#</span>
<span class="c"># Copyright (C) 2018 Red Hat, Inc.</span>
<span class="c">#</span>
<span class="c"># This program is free software; you can redistribute it and/or modify</span>
<span class="c"># it under the terms of the GNU General Public License as published by</span>
<span class="c"># the Free Software Foundation; either version 2 of the License, or</span>
<span class="c"># (at your option) any later version.</span>
<span class="c">#</span>
<span class="c"># This program is distributed in the hope that it will be useful,</span>
<span class="c"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span class="c"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
<span class="c"># GNU General Public License for more details.</span>
<span class="c">#</span>
<span class="c"># You should have received a copy of the GNU General Public License</span>
<span class="c"># along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
<span class="c">#</span>
<span class="kn">import</span> <span class="nn">logging</span>
<span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">&quot;composer-cli&quot;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">json</span>
<span class="kn">from</span> <span class="nn">composer</span> <span class="kn">import</span> <span class="n">http_client</span> <span class="k">as</span> <span class="n">client</span>
<span class="kn">from</span> <span class="nn">composer.cli.utilities</span> <span class="kn">import</span> <span class="n">argify</span><span class="p">,</span> <span class="n">frozen_toml_filename</span><span class="p">,</span> <span class="n">toml_filename</span><span class="p">,</span> <span class="n">handle_api_result</span>
<span class="kn">from</span> <span class="nn">composer.cli.utilities</span> <span class="kn">import</span> <span class="n">packageNEVRA</span>
<div class="viewcode-block" id="blueprints_cmd"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_cmd">[docs]</a><span class="k">def</span> <span class="nf">blueprints_cmd</span><span class="p">(</span><span class="n">opts</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Process blueprints commands</span>
<span class="sd"> :param opts: Cmdline arguments</span>
<span class="sd"> :type opts: argparse.Namespace</span>
<span class="sd"> :returns: Value to return from sys.exit()</span>
<span class="sd"> :rtype: int</span>
<span class="sd"> This dispatches the blueprints commands to a function</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">cmd_map</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">&quot;list&quot;</span><span class="p">:</span> <span class="n">blueprints_list</span><span class="p">,</span>
<span class="s">&quot;show&quot;</span><span class="p">:</span> <span class="n">blueprints_show</span><span class="p">,</span>
<span class="s">&quot;changes&quot;</span><span class="p">:</span> <span class="n">blueprints_changes</span><span class="p">,</span>
<span class="s">&quot;diff&quot;</span><span class="p">:</span> <span class="n">blueprints_diff</span><span class="p">,</span>
<span class="s">&quot;save&quot;</span><span class="p">:</span> <span class="n">blueprints_save</span><span class="p">,</span>
<span class="s">&quot;delete&quot;</span><span class="p">:</span> <span class="n">blueprints_delete</span><span class="p">,</span>
<span class="s">&quot;depsolve&quot;</span><span class="p">:</span> <span class="n">blueprints_depsolve</span><span class="p">,</span>
<span class="s">&quot;push&quot;</span><span class="p">:</span> <span class="n">blueprints_push</span><span class="p">,</span>
<span class="s">&quot;freeze&quot;</span><span class="p">:</span> <span class="n">blueprints_freeze</span><span class="p">,</span>
<span class="s">&quot;tag&quot;</span><span class="p">:</span> <span class="n">blueprints_tag</span><span class="p">,</span>
<span class="s">&quot;undo&quot;</span><span class="p">:</span> <span class="n">blueprints_undo</span><span class="p">,</span>
<span class="s">&quot;workspace&quot;</span><span class="p">:</span> <span class="n">blueprints_workspace</span>
<span class="p">}</span>
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">cmd_map</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;Unknown blueprints command: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">return</span> <span class="n">cmd_map</span><span class="p">[</span><span class="n">opts</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]](</span><span class="n">opts</span><span class="o">.</span><span class="n">socket</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">api_version</span><span class="p">,</span> <span class="n">opts</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">:],</span> <span class="n">opts</span><span class="o">.</span><span class="n">json</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="blueprints_list"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_list">[docs]</a><span class="k">def</span> <span class="nf">blueprints_list</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Output the list of available blueprints</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints list</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/list&quot;</span><span class="p">)</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;blueprints: &quot;</span> <span class="o">+</span> <span class="s">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">r</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprints&quot;</span><span class="p">]]))</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_show"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_show">[docs]</a><span class="k">def</span> <span class="nf">blueprints_show</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Show the blueprints, in TOML format</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints show &lt;blueprint,...&gt; Display the blueprint in TOML format.</span>
<span class="sd"> Multiple blueprints will be separated by \n\n</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/info/</span><span class="si">%s</span><span class="s">?format=toml&quot;</span> <span class="o">%</span> <span class="n">blueprint</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">client</span><span class="o">.</span><span class="n">get_url_raw</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;</span><span class="se">\n\n</span><span class="s">&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_changes"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_changes">[docs]</a><span class="k">def</span> <span class="nf">blueprints_changes</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Display the changes for each of the blueprints</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints changes &lt;blueprint,...&gt; Display the changes for each blueprint.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/changes/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="s">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">))))</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprints&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">])</span>
<span class="k">for</span> <span class="n">change</span> <span class="ow">in</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;changes&quot;</span><span class="p">]:</span>
<span class="n">prettyCommitDetails</span><span class="p">(</span><span class="n">change</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="prettyCommitDetails"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.prettyCommitDetails">[docs]</a><span class="k">def</span> <span class="nf">prettyCommitDetails</span><span class="p">(</span><span class="n">change</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Print the blueprint&#39;s change in a nice way</span>
<span class="sd"> :param change: The individual blueprint change dict</span>
<span class="sd"> :type change: dict</span>
<span class="sd"> :param indent: Number of spaces to indent</span>
<span class="sd"> :type indent: int</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">revision</span><span class="p">():</span>
<span class="k">if</span> <span class="n">change</span><span class="p">[</span><span class="s">&quot;revision&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot; revision </span><span class="si">%d</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">change</span><span class="p">[</span><span class="s">&quot;revision&quot;</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot;&quot;</span>
<span class="k">print</span> <span class="s">&quot; &quot;</span> <span class="o">*</span> <span class="n">indent</span> <span class="o">+</span> <span class="n">change</span><span class="p">[</span><span class="s">&quot;timestamp&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">change</span><span class="p">[</span><span class="s">&quot;commit&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="n">revision</span><span class="p">()</span>
<span class="k">print</span> <span class="s">&quot; &quot;</span> <span class="o">*</span> <span class="n">indent</span> <span class="o">+</span> <span class="n">change</span><span class="p">[</span><span class="s">&quot;message&quot;</span><span class="p">]</span> <span class="o">+</span> <span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span>
</div>
<div class="viewcode-block" id="blueprints_diff"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_diff">[docs]</a><span class="k">def</span> <span class="nf">blueprints_diff</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Display the differences between 2 versions of a blueprint</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints diff &lt;blueprint-name&gt; Display the differences between 2 versions of a blueprint.</span>
<span class="sd"> &lt;from-commit&gt; Commit hash or NEWEST</span>
<span class="sd"> &lt;to-commit&gt; Commit hash, NEWEST, or WORKSPACE</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;blueprints diff is missing the blueprint name, from commit, and to commit&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;blueprints diff is missing the from commit, and the to commit&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;blueprints diff is missing the to commit&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/diff/</span><span class="si">%s</span><span class="s">/</span><span class="si">%s</span><span class="s">/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]))</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">for</span> <span class="n">diff</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;diff&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="n">prettyDiffEntry</span><span class="p">(</span><span class="n">diff</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="prettyDiffEntry"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.prettyDiffEntry">[docs]</a><span class="k">def</span> <span class="nf">prettyDiffEntry</span><span class="p">(</span><span class="n">diff</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Generate nice diff entry string.</span>
<span class="sd"> :param diff: Difference entry dict</span>
<span class="sd"> :type diff: dict</span>
<span class="sd"> :returns: Nice string</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">change</span><span class="p">(</span><span class="n">diff</span><span class="p">):</span>
<span class="k">if</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">]</span> <span class="ow">and</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot;Changed&quot;</span>
<span class="k">elif</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot;Added&quot;</span>
<span class="k">elif</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot;Removed&quot;</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot;Unknown&quot;</span>
<span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="n">diff</span><span class="p">):</span>
<span class="k">if</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
<span class="k">elif</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot;Unknown&quot;</span>
<span class="k">def</span> <span class="nf">details</span><span class="p">(</span><span class="n">diff</span><span class="p">):</span>
<span class="k">if</span> <span class="n">change</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">==</span> <span class="s">&quot;Changed&quot;</span><span class="p">:</span>
<span class="k">if</span> <span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">==</span> <span class="s">&quot;Description&quot;</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&#39;&quot;</span><span class="si">%s</span><span class="s">&quot; -&gt; &quot;</span><span class="si">%s</span><span class="s">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)],</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)])</span>
<span class="k">elif</span> <span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">==</span> <span class="s">&quot;Version&quot;</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s"> -&gt; </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)],</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)])</span>
<span class="k">elif</span> <span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;Module&quot;</span><span class="p">,</span> <span class="s">&quot;Package&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> -&gt; </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;version&quot;</span><span class="p">],</span>
<span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;version&quot;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot;Unknown&quot;</span>
<span class="k">elif</span> <span class="n">change</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">==</span> <span class="s">&quot;Added&quot;</span><span class="p">:</span>
<span class="k">if</span> <span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;Module&quot;</span><span class="p">,</span> <span class="s">&quot;Package&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;version&quot;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">][</span><span class="n">k</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;new&quot;</span><span class="p">]])</span>
<span class="k">elif</span> <span class="n">change</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">==</span> <span class="s">&quot;Removed&quot;</span><span class="p">:</span>
<span class="k">if</span> <span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;Module&quot;</span><span class="p">,</span> <span class="s">&quot;Package&quot;</span><span class="p">]:</span>
<span class="k">return</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)][</span><span class="s">&quot;version&quot;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="s">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">][</span><span class="n">k</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">diff</span><span class="p">[</span><span class="s">&quot;old&quot;</span><span class="p">]])</span>
<span class="k">return</span> <span class="n">change</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">name</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">details</span><span class="p">(</span><span class="n">diff</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="blueprints_save"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_save">[docs]</a><span class="k">def</span> <span class="nf">blueprints_save</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Save the blueprint to a TOML file</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints save &lt;blueprint,...&gt; Save the blueprint to a file, &lt;blueprint-name&gt;.toml</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/info/</span><span class="si">%s</span><span class="s">?format=toml&quot;</span> <span class="o">%</span> <span class="n">blueprint</span><span class="p">)</span>
<span class="n">blueprint_toml</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_raw</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="nb">open</span><span class="p">(</span><span class="n">toml_filename</span><span class="p">(</span><span class="n">blueprint</span><span class="p">),</span> <span class="s">&quot;w&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">blueprint_toml</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_delete"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_delete">[docs]</a><span class="k">def</span> <span class="nf">blueprints_delete</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Delete a blueprint from the server</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> delete &lt;blueprint&gt; Delete a blueprint from the server</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/delete/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">delete_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">return</span> <span class="n">handle_api_result</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">show_json</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="blueprints_depsolve"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_depsolve">[docs]</a><span class="k">def</span> <span class="nf">blueprints_depsolve</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Display the packages needed to install the blueprint</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints depsolve &lt;blueprint,...&gt; Display the packages needed to install the blueprint.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/depsolve/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="s">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">))))</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprints&quot;</span><span class="p">]:</span>
<span class="k">if</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;version&quot;</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">):</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;blueprint: </span><span class="si">%s</span><span class="s"> v</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;version&quot;</span><span class="p">]))</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;blueprint: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;name&quot;</span><span class="p">]))</span>
<span class="k">for</span> <span class="n">dep</span> <span class="ow">in</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;dependencies&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">packageNEVRA</span><span class="p">(</span><span class="n">dep</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_push"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_push">[docs]</a><span class="k">def</span> <span class="nf">blueprints_push</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Push a blueprint TOML file to the server, updating the blueprint</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> push &lt;blueprint&gt; Push a blueprint TOML file to the server.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/new&quot;</span><span class="p">)</span>
<span class="n">rval</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">blueprint</span><span class="p">):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;Missing blueprint file: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">blueprint</span><span class="p">)</span>
<span class="k">continue</span>
<span class="n">blueprint_toml</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">blueprint</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">post_url_toml</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">,</span> <span class="n">blueprint_toml</span><span class="p">)</span>
<span class="k">if</span> <span class="n">handle_api_result</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">show_json</span><span class="p">):</span>
<span class="n">rval</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">return</span> <span class="n">rval</span>
</div>
<div class="viewcode-block" id="blueprints_freeze"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_freeze">[docs]</a><span class="k">def</span> <span class="nf">blueprints_freeze</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Handle the blueprints freeze commands</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints freeze &lt;blueprint,...&gt; Display the frozen blueprint&#39;s modules and packages.</span>
<span class="sd"> blueprints freeze show &lt;blueprint,...&gt; Display the frozen blueprint in TOML format.</span>
<span class="sd"> blueprints freeze save &lt;blueprint,...&gt; Save the frozen blueprint to a file, &lt;blueprint-name&gt;.frozen.toml.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;show&quot;</span><span class="p">:</span>
<span class="k">return</span> <span class="n">blueprints_freeze_show</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span> <span class="n">show_json</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;save&quot;</span><span class="p">:</span>
<span class="k">return</span> <span class="n">blueprints_freeze_save</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span> <span class="n">show_json</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;freeze is missing the blueprint name&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/freeze/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="s">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">))))</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprints&quot;</span><span class="p">]:</span>
<span class="n">blueprint</span> <span class="o">=</span> <span class="n">entry</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">blueprint</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;version&quot;</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">):</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;blueprint: </span><span class="si">%s</span><span class="s"> v</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;blueprint: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">]))</span>
<span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;modules&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot; </span><span class="si">%s</span><span class="s">-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">m</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">m</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;packages&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot; </span><span class="si">%s</span><span class="s">-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">p</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span>
<span class="c"># Print any errors</span>
<span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="c"># Return a 1 if there are any errors</span>
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_freeze_show"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_freeze_show">[docs]</a><span class="k">def</span> <span class="nf">blueprints_freeze_show</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Show the frozen blueprint in TOML format</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints freeze show &lt;blueprint,...&gt; Display the frozen blueprint in TOML format.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;freeze show is missing the blueprint name&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/freeze/</span><span class="si">%s</span><span class="s">?format=toml&quot;</span> <span class="o">%</span> <span class="n">blueprint</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">client</span><span class="o">.</span><span class="n">get_url_raw</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_freeze_save"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_freeze_save">[docs]</a><span class="k">def</span> <span class="nf">blueprints_freeze_save</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Save the frozen blueprint to a TOML file</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints freeze save &lt;blueprint,...&gt; Save the frozen blueprint to a file, &lt;blueprint-name&gt;.frozen.toml.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;freeze save is missing the blueprint name&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/freeze/</span><span class="si">%s</span><span class="s">?format=toml&quot;</span> <span class="o">%</span> <span class="n">blueprint</span><span class="p">)</span>
<span class="n">blueprint_toml</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_raw</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="nb">open</span><span class="p">(</span><span class="n">frozen_toml_filename</span><span class="p">(</span><span class="n">blueprint</span><span class="p">),</span> <span class="s">&quot;w&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">blueprint_toml</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">0</span>
</div>
<div class="viewcode-block" id="blueprints_tag"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_tag">[docs]</a><span class="k">def</span> <span class="nf">blueprints_tag</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Tag the most recent blueprint commit as a release</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints tag &lt;blueprint&gt; Tag the most recent blueprint commit as a release.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/tag/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">post_url</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="n">handle_api_result</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">show_json</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="blueprints_undo"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_undo">[docs]</a><span class="k">def</span> <span class="nf">blueprints_undo</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Undo changes to a blueprint</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints undo &lt;blueprint&gt; &lt;commit&gt; Undo changes to a blueprint by reverting to the selected commit.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;undo is missing the blueprint name and commit hash&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;undo is missing commit hash&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/undo/</span><span class="si">%s</span><span class="s">/</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">post_url</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="n">handle_api_result</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">show_json</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="blueprints_workspace"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.blueprints.blueprints_workspace">[docs]</a><span class="k">def</span> <span class="nf">blueprints_workspace</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Push the blueprint TOML to the temporary workspace storage</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span>
<span class="sd"> :param api_version: Version of the API to talk to. eg. &quot;0&quot;</span>
<span class="sd"> :type api_version: str</span>
<span class="sd"> :param args: List of remaining arguments from the cmdline</span>
<span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span>
<span class="sd"> blueprints workspace &lt;blueprint&gt; Push the blueprint TOML to the temporary workspace storage.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/blueprints/workspace&quot;</span><span class="p">)</span>
<span class="n">rval</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">blueprint</span> <span class="ow">in</span> <span class="n">argify</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">blueprint</span><span class="p">):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;Missing blueprint file: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">blueprint</span><span class="p">)</span>
<span class="k">continue</span>
<span class="n">blueprint_toml</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">blueprint</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">post_url_toml</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">,</span> <span class="n">blueprint_toml</span><span class="p">)</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="c"># Any errors results in returning a 1, but we continue with the rest first</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;status&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
<span class="n">rval</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">return</span> <span class="n">rval</span></div>
</pre></div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="../../../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" >composer.cli</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2018, Red Hat, Inc..
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.cli.compose &mdash; Lorax 19.7.11 documentation</title> <title>composer.cli.compose &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="composer.cli" href="../cli.html" /> <link rel="up" title="composer.cli" href="../cli.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li> <li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li>
</ul> </ul>
@ -115,20 +115,24 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> This doesn&#39;t map directly to an API command, it combines the results from queue, finished,</span> <span class="sd"> This doesn&#39;t map directly to an API command, it combines the results from queue, finished,</span>
<span class="sd"> and failed so raw JSON output is not available.</span> <span class="sd"> and failed so raw JSON output is not available.</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">get_status</span><span class="p">(</span><span class="n">compose</span><span class="p">):</span> <span class="k">def</span> <span class="nf">get_status</span><span class="p">(</span><span class="n">compose</span><span class="p">):</span>
<span class="k">return</span> <span class="p">{</span><span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;id&quot;</span><span class="p">],</span> <span class="k">return</span> <span class="p">{</span><span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;id&quot;</span><span class="p">],</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">],</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">],</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">],</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">],</span>
<span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;compose_type&quot;</span><span class="p">],</span>
<span class="s">&quot;image_size&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;image_size&quot;</span><span class="p">],</span>
<span class="s">&quot;status&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">]}</span> <span class="s">&quot;status&quot;</span><span class="p">:</span> <span class="n">compose</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">]}</span>
<span class="c"># Sort the status in a specific order</span> <span class="c"># Sort the status in a specific order</span>
<span class="k">def</span> <span class="nf">sort_status</span><span class="p">(</span><span class="n">a</span><span class="p">):</span> <span class="k">def</span> <span class="nf">sort_status</span><span class="p">(</span><span class="n">a</span><span class="p">):</span>
<span class="n">order</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;RUNNING&quot;</span><span class="p">,</span> <span class="s">&quot;WAITING&quot;</span><span class="p">,</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span> <span class="s">&quot;FAILED&quot;</span><span class="p">]</span> <span class="n">order</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;RUNNING&quot;</span><span class="p">,</span> <span class="s">&quot;WAITING&quot;</span><span class="p">,</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span> <span class="s">&quot;FAILED&quot;</span><span class="p">]</span>
<span class="k">return</span> <span class="p">(</span><span class="n">order</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">a</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]),</span> <span class="n">a</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">],</span> <span class="n">a</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">])</span> <span class="k">return</span> <span class="p">(</span><span class="n">order</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">a</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]),</span> <span class="n">a</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">],</span> <span class="n">a</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">],</span> <span class="n">a</span><span class="p">[</span><span class="s">&quot;compose_type&quot;</span><span class="p">])</span>
<span class="n">status</span> <span class="o">=</span> <span class="p">[]</span> <span class="n">status</span> <span class="o">=</span> <span class="p">[]</span>
@ -154,12 +158,18 @@
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span> <span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span> <span class="k">return</span> <span class="mi">0</span>
<span class="c"># Print them as UUID RECIPE STATUS</span> <span class="c"># Print them as UUID blueprint STATUS</span>
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">status</span><span class="p">:</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">status</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%-8s</span><span class="s"> </span><span class="si">%-15s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">c</span><span class="p">[</span><span class="s">&quot;id&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span> <span class="k">if</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;image_size&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">c</span><span class="p">[</span><span class="s">&quot;image_size&quot;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="s">&quot;&quot;</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%-8s</span><span class="s"> </span><span class="si">%-15s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%-16s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">c</span><span class="p">[</span><span class="s">&quot;id&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="s">&quot;compose_type&quot;</span><span class="p">],</span>
<span class="n">image_size</span><span class="p">))</span>
</div> </div>
<div class="viewcode-block" id="compose_types"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.compose.compose_types">[docs]</a><span class="k">def</span> <span class="nf">compose_types</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> <div class="viewcode-block" id="compose_types"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.compose.compose_types">[docs]</a><span class="k">def</span> <span class="nf">compose_types</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">testmode</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Return information about the supported compose types</span> <span class="sd">&quot;&quot;&quot;Return information about the supported compose types</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span> <span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
@ -170,6 +180,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> Add additional details to types that are known to composer-cli. Raw JSON output does not</span> <span class="sd"> Add additional details to types that are known to composer-cli. Raw JSON output does not</span>
<span class="sd"> include this extra information.</span> <span class="sd"> include this extra information.</span>
@ -183,7 +195,7 @@
<span class="k">print</span><span class="p">(</span><span class="s">&quot;Compose Types: &quot;</span> <span class="o">+</span> <span class="s">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">t</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">]</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;types&quot;</span><span class="p">]]))</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot;Compose Types: &quot;</span> <span class="o">+</span> <span class="s">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">t</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">]</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;types&quot;</span><span class="p">]]))</span>
</div> </div>
<div class="viewcode-block" id="compose_start"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.compose.compose_start">[docs]</a><span class="k">def</span> <span class="nf">compose_start</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">testmode</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span> <div class="viewcode-block" id="compose_start"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.compose.compose_start">[docs]</a><span class="k">def</span> <span class="nf">compose_start</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">testmode</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Start a new compose using the selected recipe and type</span> <span class="sd">&quot;&quot;&quot;Start a new compose using the selected blueprint and type</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span> <span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span> <span class="sd"> :type socket_path: str</span>
@ -193,18 +205,20 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: Set to 1 to simulate a failed compose, set to 2 to simulate a finished one.</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose start &lt;recipe-name&gt; &lt;compose-type&gt;</span> <span class="sd"> compose start &lt;blueprint-name&gt; &lt;compose-type&gt;</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start is missing the recipe name and output type&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start is missing the blueprint name and output type&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span> <span class="k">return</span> <span class="mi">1</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start is missing the output type&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start is missing the output type&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span> <span class="k">return</span> <span class="mi">1</span>
<span class="n">config</span> <span class="o">=</span> <span class="p">{</span> <span class="n">config</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">&quot;recipe_name&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="s">&quot;blueprint_name&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
<span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
<span class="s">&quot;branch&quot;</span><span class="p">:</span> <span class="s">&quot;master&quot;</span> <span class="s">&quot;branch&quot;</span><span class="p">:</span> <span class="s">&quot;master&quot;</span>
<span class="p">}</span> <span class="p">}</span>
@ -219,11 +233,10 @@
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span> <span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span> <span class="k">return</span> <span class="mi">0</span>
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;error&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span> <span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s">&quot;error&quot;</span><span class="p">][</span><span class="s">&quot;msg&quot;</span><span class="p">])</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">if</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">False</span><span class="p">:</span> <span class="k">if</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">False</span> <span class="ow">or</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
<span class="k">return</span> <span class="mi">1</span> <span class="k">return</span> <span class="mi">1</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;Compose </span><span class="si">%s</span><span class="s"> added to the queue&quot;</span> <span class="o">%</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;build_id&quot;</span><span class="p">])</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot;Compose </span><span class="si">%s</span><span class="s"> added to the queue&quot;</span> <span class="o">%</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;build_id&quot;</span><span class="p">])</span>
@ -240,6 +253,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose log &lt;uuid&gt; [&lt;size&gt;kB]</span> <span class="sd"> compose log &lt;uuid&gt; [&lt;size&gt;kB]</span>
@ -259,9 +274,14 @@
<span class="n">log_size</span> <span class="o">=</span> <span class="mi">1024</span> <span class="n">log_size</span> <span class="o">=</span> <span class="mi">1024</span>
<span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/compose/log/</span><span class="si">%s</span><span class="s">?size=</span><span class="si">%d</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">log_size</span><span class="p">))</span> <span class="n">api_route</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">api_url</span><span class="p">(</span><span class="n">api_version</span><span class="p">,</span> <span class="s">&quot;/compose/log/</span><span class="si">%s</span><span class="s">?size=</span><span class="si">%d</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">log_size</span><span class="p">))</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_raw</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span> <span class="n">result</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">get_url_raw</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_route</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">RuntimeError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">print</span><span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="k">print</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
<span class="k">return</span> <span class="mi">0</span>
</div> </div>
<div class="viewcode-block" id="compose_cancel"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.compose.compose_cancel">[docs]</a><span class="k">def</span> <span class="nf">compose_cancel</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">testmode</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span> <div class="viewcode-block" id="compose_cancel"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.compose.compose_cancel">[docs]</a><span class="k">def</span> <span class="nf">compose_cancel</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">api_version</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">testmode</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Cancel a running compose</span> <span class="sd">&quot;&quot;&quot;Cancel a running compose</span>
@ -274,6 +294,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose cancel &lt;uuid&gt;</span> <span class="sd"> compose cancel &lt;uuid&gt;</span>
@ -298,6 +320,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose delete &lt;uuid,...&gt;</span> <span class="sd"> compose delete &lt;uuid,...&gt;</span>
@ -317,7 +341,7 @@
<span class="c"># Print any errors</span> <span class="c"># Print any errors</span>
<span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span> <span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">err</span><span class="p">[</span><span class="s">&quot;uuid&quot;</span><span class="p">],</span> <span class="n">err</span><span class="p">[</span><span class="s">&quot;msg&quot;</span><span class="p">])</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span> <span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="k">return</span> <span class="mi">1</span> <span class="k">return</span> <span class="mi">1</span>
@ -335,10 +359,12 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose details &lt;uuid&gt;</span> <span class="sd"> compose details &lt;uuid&gt;</span>
<span class="sd"> This returns information about the compose, including the recipe and the dependencies.</span> <span class="sd"> This returns information about the compose, including the blueprint and the dependencies.</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;details is missing the compose build id&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;details is missing the compose build id&quot;</span><span class="p">)</span>
@ -350,17 +376,30 @@
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span> <span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">return</span> <span class="mi">0</span> <span class="k">return</span> <span class="mi">0</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%-8s</span><span class="s"> </span><span class="si">%-15s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s">&quot;id&quot;</span><span class="p">],</span> <span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">if</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;image_size&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s">&quot;image_size&quot;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="s">&quot;&quot;</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%-8s</span><span class="s"> </span><span class="si">%-15s</span><span class="s"> </span><span class="si">%s</span><span class="s"> </span><span class="si">%-16s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s">&quot;id&quot;</span><span class="p">],</span>
<span class="n">result</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">],</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">],</span>
<span class="n">result</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">][</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;name&quot;</span><span class="p">],</span>
<span class="n">result</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">][</span><span class="s">&quot;version&quot;</span><span class="p">],</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;version&quot;</span><span class="p">],</span>
<span class="n">result</span><span class="p">[</span><span class="s">&quot;compose_type&quot;</span><span class="p">]))</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;compose_type&quot;</span><span class="p">],</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;Recipe Packages:&quot;</span><span class="p">)</span> <span class="n">image_size</span><span class="p">))</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">][</span><span class="s">&quot;packages&quot;</span><span class="p">]:</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot;Packages:&quot;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;packages&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot; </span><span class="si">%s</span><span class="s">-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">p</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot; </span><span class="si">%s</span><span class="s">-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">p</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;Recipe Modules:&quot;</span><span class="p">)</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot;Modules:&quot;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;recipe&quot;</span><span class="p">][</span><span class="s">&quot;modules&quot;</span><span class="p">]:</span> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;blueprint&quot;</span><span class="p">][</span><span class="s">&quot;modules&quot;</span><span class="p">]:</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot; </span><span class="si">%s</span><span class="s">-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">m</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">m</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot; </span><span class="si">%s</span><span class="s">-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">m</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">m</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]))</span>
<span class="k">print</span><span class="p">(</span><span class="s">&quot;Dependencies:&quot;</span><span class="p">)</span> <span class="k">print</span><span class="p">(</span><span class="s">&quot;Dependencies:&quot;</span><span class="p">)</span>
@ -378,6 +417,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose metadata &lt;uuid&gt;</span> <span class="sd"> compose metadata &lt;uuid&gt;</span>
@ -401,6 +442,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose results &lt;uuid&gt;</span> <span class="sd"> compose results &lt;uuid&gt;</span>
@ -425,6 +468,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose logs &lt;uuid&gt;</span> <span class="sd"> compose logs &lt;uuid&gt;</span>
@ -448,6 +493,8 @@
<span class="sd"> :type args: list of str</span> <span class="sd"> :type args: list of str</span>
<span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span> <span class="sd"> :param show_json: Set to True to show the JSON output instead of the human readable output</span>
<span class="sd"> :type show_json: bool</span> <span class="sd"> :type show_json: bool</span>
<span class="sd"> :param testmode: unused in this function</span>
<span class="sd"> :type testmode: int</span>
<span class="sd"> compose image &lt;uuid&gt;</span> <span class="sd"> compose image &lt;uuid&gt;</span>
@ -493,7 +540,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" >composer.cli</a> &raquo;</li> <li><a href="../cli.html" >composer.cli</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.cli.modules &mdash; Lorax 19.7.11 documentation</title> <title>composer.cli.modules &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="composer.cli" href="../cli.html" /> <link rel="up" title="composer.cli" href="../cli.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li> <li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li>
</ul> </ul>
@ -127,7 +127,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" >composer.cli</a> &raquo;</li> <li><a href="../cli.html" >composer.cli</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.cli.projects &mdash; Lorax 19.7.11 documentation</title> <title>composer.cli.projects &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="composer.cli" href="../cli.html" /> <link rel="up" title="composer.cli" href="../cli.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li> <li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li>
</ul> </ul>
@ -189,7 +189,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" >composer.cli</a> &raquo;</li> <li><a href="../cli.html" >composer.cli</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.cli.utilities &mdash; Lorax 19.7.11 documentation</title> <title>composer.cli.utilities &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="composer.cli" href="../cli.html" /> <link rel="up" title="composer.cli" href="../cli.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li> <li><a href="../cli.html" accesskey="U">composer.cli</a> &raquo;</li>
</ul> </ul>
@ -85,25 +85,25 @@
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="nb">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span><span class="p">,</span> <span class="p">[</span><span class="n">arg</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">args</span> <span class="k">for</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">entry</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&quot;,&quot;</span><span class="p">)])</span> <span class="k">return</span> <span class="nb">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span><span class="p">,</span> <span class="p">[</span><span class="n">arg</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">args</span> <span class="k">for</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">entry</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&quot;,&quot;</span><span class="p">)])</span>
</div> </div>
<div class="viewcode-block" id="toml_filename"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.utilities.toml_filename">[docs]</a><span class="k">def</span> <span class="nf">toml_filename</span><span class="p">(</span><span class="n">recipe_name</span><span class="p">):</span> <div class="viewcode-block" id="toml_filename"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.utilities.toml_filename">[docs]</a><span class="k">def</span> <span class="nf">toml_filename</span><span class="p">(</span><span class="n">blueprint_name</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Convert a recipe name into a filename.toml</span> <span class="sd">&quot;&quot;&quot;Convert a blueprint name into a filename.toml</span>
<span class="sd"> :param recipe_name: The recipe&#39;s name</span> <span class="sd"> :param blueprint_name: The blueprint&#39;s name</span>
<span class="sd"> :type recipe_name: str</span> <span class="sd"> :type blueprint_name: str</span>
<span class="sd"> :returns: The recipe name with &#39; &#39; converted to - and .toml appended</span> <span class="sd"> :returns: The blueprint name with &#39; &#39; converted to - and .toml appended</span>
<span class="sd"> :rtype: str</span> <span class="sd"> :rtype: str</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">recipe_name</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&quot; &quot;</span><span class="p">,</span> <span class="s">&quot;-&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;.toml&quot;</span> <span class="k">return</span> <span class="n">blueprint_name</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&quot; &quot;</span><span class="p">,</span> <span class="s">&quot;-&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;.toml&quot;</span>
</div> </div>
<div class="viewcode-block" id="frozen_toml_filename"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.utilities.frozen_toml_filename">[docs]</a><span class="k">def</span> <span class="nf">frozen_toml_filename</span><span class="p">(</span><span class="n">recipe_name</span><span class="p">):</span> <div class="viewcode-block" id="frozen_toml_filename"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.utilities.frozen_toml_filename">[docs]</a><span class="k">def</span> <span class="nf">frozen_toml_filename</span><span class="p">(</span><span class="n">blueprint_name</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Convert a recipe name into a filename.toml</span> <span class="sd">&quot;&quot;&quot;Convert a blueprint name into a filename.toml</span>
<span class="sd"> :param recipe_name: The recipe&#39;s name</span> <span class="sd"> :param blueprint_name: The blueprint&#39;s name</span>
<span class="sd"> :type recipe_name: str</span> <span class="sd"> :type blueprint_name: str</span>
<span class="sd"> :returns: The recipe name with &#39; &#39; converted to - and .toml appended</span> <span class="sd"> :returns: The blueprint name with &#39; &#39; converted to - and .toml appended</span>
<span class="sd"> :rtype: str</span> <span class="sd"> :rtype: str</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">recipe_name</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&quot; &quot;</span><span class="p">,</span> <span class="s">&quot;-&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;.frozen.toml&quot;</span> <span class="k">return</span> <span class="n">blueprint_name</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&quot; &quot;</span><span class="p">,</span> <span class="s">&quot;-&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;.frozen.toml&quot;</span>
</div> </div>
<div class="viewcode-block" id="handle_api_result"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.utilities.handle_api_result">[docs]</a><span class="k">def</span> <span class="nf">handle_api_result</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> <div class="viewcode-block" id="handle_api_result"><a class="viewcode-back" href="../../../composer.cli.html#composer.cli.utilities.handle_api_result">[docs]</a><span class="k">def</span> <span class="nf">handle_api_result</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">show_json</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Log any errors, return the correct value</span> <span class="sd">&quot;&quot;&quot;Log any errors, return the correct value</span>
@ -113,8 +113,9 @@
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">show_json</span><span class="p">:</span> <span class="k">if</span> <span class="n">show_json</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span> <span class="k">print</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">))</span>
<span class="k">elif</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;error&quot;</span><span class="p">,</span> <span class="bp">False</span><span class="p">):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s">&quot;error&quot;</span><span class="p">][</span><span class="s">&quot;msg&quot;</span><span class="p">])</span> <span class="k">for</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;errors&quot;</span><span class="p">,</span> <span class="p">[]):</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
<span class="k">if</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span> <span class="k">if</span> <span class="n">result</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="k">return</span> <span class="mi">0</span> <span class="k">return</span> <span class="mi">0</span>
@ -166,7 +167,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../cli.html" >composer.cli</a> &raquo;</li> <li><a href="../cli.html" >composer.cli</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.http_client &mdash; Lorax 19.7.11 documentation</title> <title>composer.http_client &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="Module code" href="../index.html" /> <link rel="up" title="Module code" href="../index.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li> <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -98,6 +98,11 @@
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">http</span> <span class="o">=</span> <span class="n">UnixHTTPConnectionPool</span><span class="p">(</span><span class="n">socket_path</span><span class="p">)</span> <span class="n">http</span> <span class="o">=</span> <span class="n">UnixHTTPConnectionPool</span><span class="p">(</span><span class="n">socket_path</span><span class="p">)</span>
<span class="n">r</span> <span class="o">=</span> <span class="n">http</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="n">url</span><span class="p">)</span> <span class="n">r</span> <span class="o">=</span> <span class="n">http</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="n">url</span><span class="p">)</span>
<span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">400</span><span class="p">:</span>
<span class="n">err</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&quot;utf-8&quot;</span><span class="p">))</span>
<span class="k">if</span> <span class="s">&quot;status&quot;</span> <span class="ow">in</span> <span class="n">err</span> <span class="ow">and</span> <span class="n">err</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">False</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">err</span><span class="p">[</span><span class="s">&quot;errors&quot;</span><span class="p">]))</span>
<span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&#39;utf-8&#39;</span><span class="p">)</span> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&#39;utf-8&#39;</span><span class="p">)</span>
</div> </div>
<div class="viewcode-block" id="get_url_json"><a class="viewcode-back" href="../../composer.html#composer.http_client.get_url_json">[docs]</a><span class="k">def</span> <span class="nf">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">url</span><span class="p">):</span> <div class="viewcode-block" id="get_url_json"><a class="viewcode-back" href="../../composer.html#composer.http_client.get_url_json">[docs]</a><span class="k">def</span> <span class="nf">get_url_json</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">url</span><span class="p">):</span>
@ -146,7 +151,7 @@
<span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&quot;utf-8&quot;</span><span class="p">))</span> <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&quot;utf-8&quot;</span><span class="p">))</span>
</div> </div>
<div class="viewcode-block" id="post_url_toml"><a class="viewcode-back" href="../../composer.html#composer.http_client.post_url_toml">[docs]</a><span class="k">def</span> <span class="nf">post_url_toml</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">url</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span> <div class="viewcode-block" id="post_url_toml"><a class="viewcode-back" href="../../composer.html#composer.http_client.post_url_toml">[docs]</a><span class="k">def</span> <span class="nf">post_url_toml</span><span class="p">(</span><span class="n">socket_path</span><span class="p">,</span> <span class="n">url</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;POST a TOML recipe to the URL</span> <span class="sd">&quot;&quot;&quot;POST a TOML string to the URL</span>
<span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span> <span class="sd"> :param socket_path: Path to the Unix socket to use for API communication</span>
<span class="sd"> :type socket_path: str</span> <span class="sd"> :type socket_path: str</span>
@ -218,7 +223,7 @@
<span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">400</span><span class="p">:</span> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">400</span><span class="p">:</span>
<span class="n">err</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&quot;utf-8&quot;</span><span class="p">))</span> <span class="n">err</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&quot;utf-8&quot;</span><span class="p">))</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">err</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]:</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">err</span><span class="p">[</span><span class="s">&quot;status&quot;</span><span class="p">]:</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="n">err</span><span class="p">[</span><span class="s">&quot;error&quot;</span><span class="p">][</span><span class="s">&quot;msg&quot;</span><span class="p">])</span> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">err</span><span class="p">[</span><span class="s">&quot;errors&quot;</span><span class="p">]))</span>
<span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span> <span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">)</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span> <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
@ -278,7 +283,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer.unix_socket &mdash; Lorax 19.7.11 documentation</title> <title>composer.unix_socket &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="Module code" href="../index.html" /> <link rel="up" title="Module code" href="../index.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li> <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -109,12 +109,7 @@
<span class="bp">self</span><span class="o">.</span><span class="n">socket_path</span> <span class="o">=</span> <span class="n">socket_path</span> <span class="bp">self</span><span class="o">.</span><span class="n">socket_path</span> <span class="o">=</span> <span class="n">socket_path</span>
<span class="k">def</span> <span class="nf">_new_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="k">def</span> <span class="nf">_new_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="n">UnixHTTPConnection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">socket_path</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">)</span> <span class="k">return</span> <span class="n">UnixHTTPConnection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">socket_path</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">)</span></div>
</div>
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
<span class="n">http</span> <span class="o">=</span> <span class="n">UnixHTTPConnectionPool</span><span class="p">(</span><span class="s">&quot;/var/run/weldr/api.socket&quot;</span><span class="p">)</span>
<span class="n">r</span> <span class="o">=</span> <span class="n">http</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="s">&quot;/api/v0/recipes/list&quot;</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -148,7 +143,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Overview: module code &mdash; Lorax 19.7.11 documentation</title> <title>Overview: module code &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../', URL_ROOT: '../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../index.html" />
</head> </head>
<body> <body>
<div class="related"> <div class="related">
@ -37,7 +37,7 @@
<li class="right" > <li class="right" >
<a href="../py-modindex.html" title="Python Module Index" <a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -48,16 +48,15 @@
<h1>All modules for which code is available</h1> <h1>All modules for which code is available</h1>
<ul><li><a href="composer/cli.html">composer.cli</a></li> <ul><li><a href="composer/cli.html">composer.cli</a></li>
<ul><li><a href="composer/cli/compose.html">composer.cli.compose</a></li> <ul><li><a href="composer/cli/blueprints.html">composer.cli.blueprints</a></li>
<li><a href="composer/cli/compose.html">composer.cli.compose</a></li>
<li><a href="composer/cli/modules.html">composer.cli.modules</a></li> <li><a href="composer/cli/modules.html">composer.cli.modules</a></li>
<li><a href="composer/cli/projects.html">composer.cli.projects</a></li> <li><a href="composer/cli/projects.html">composer.cli.projects</a></li>
<li><a href="composer/cli/recipes.html">composer.cli.recipes</a></li>
<li><a href="composer/cli/utilities.html">composer.cli.utilities</a></li> <li><a href="composer/cli/utilities.html">composer.cli.utilities</a></li>
</ul><li><a href="composer/http_client.html">composer.http_client</a></li> </ul><li><a href="composer/http_client.html">composer.http_client</a></li>
<li><a href="composer/unix_socket.html">composer.unix_socket</a></li> <li><a href="composer/unix_socket.html">composer.unix_socket</a></li>
<li><a href="pylorax.html">pylorax</a></li> <li><a href="pylorax.html">pylorax</a></li>
<ul><li><a href="pylorax/__init__.html">pylorax.__init__</a></li> <ul><li><a href="pylorax/api.html">pylorax.api</a></li>
<li><a href="pylorax/api.html">pylorax.api</a></li>
<ul><li><a href="pylorax/api/compose.html">pylorax.api.compose</a></li> <ul><li><a href="pylorax/api/compose.html">pylorax.api.compose</a></li>
<li><a href="pylorax/api/config.html">pylorax.api.config</a></li> <li><a href="pylorax/api/config.html">pylorax.api.config</a></li>
<li><a href="pylorax/api/crossdomain.html">pylorax.api.crossdomain</a></li> <li><a href="pylorax/api/crossdomain.html">pylorax.api.crossdomain</a></li>
@ -115,7 +114,7 @@
<li class="right" > <li class="right" >
<a href="../py-modindex.html" title="Python Module Index" <a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax &mdash; Lorax 19.7.11 documentation</title> <title>pylorax &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../', URL_ROOT: '../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../index.html" />
<link rel="up" title="Module code" href="index.html" /> <link rel="up" title="Module code" href="index.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../py-modindex.html" title="Python Module Index" <a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="index.html" accesskey="U">Module code</a> &raquo;</li> <li><a href="index.html" accesskey="U">Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -457,7 +457,7 @@
<li class="right" > <li class="right" >
<a href="../py-modindex.html" title="Python Module Index" <a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="index.html" >Module code</a> &raquo;</li> <li><a href="index.html" >Module code</a> &raquo;</li>
</ul> </ul>
</div> </div>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -103,7 +103,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.compose &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.compose &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -88,13 +88,18 @@
<span class="kn">import</span> <span class="nn">os</span> <span class="kn">import</span> <span class="nn">os</span>
<span class="kn">from</span> <span class="nn">glob</span> <span class="kn">import</span> <span class="n">glob</span> <span class="kn">from</span> <span class="nn">glob</span> <span class="kn">import</span> <span class="n">glob</span>
<span class="kn">from</span> <span class="nn">math</span> <span class="kn">import</span> <span class="n">ceil</span>
<span class="kn">import</span> <span class="nn">pytoml</span> <span class="kn">as</span> <span class="nn">toml</span> <span class="kn">import</span> <span class="nn">pytoml</span> <span class="kn">as</span> <span class="nn">toml</span>
<span class="kn">import</span> <span class="nn">shutil</span> <span class="kn">import</span> <span class="nn">shutil</span>
<span class="kn">from</span> <span class="nn">uuid</span> <span class="kn">import</span> <span class="n">uuid4</span> <span class="kn">from</span> <span class="nn">uuid</span> <span class="kn">import</span> <span class="n">uuid4</span>
<span class="kn">from</span> <span class="nn">pyanaconda.simpleconfig</span> <span class="kn">import</span> <span class="n">SimpleConfigFile</span> <span class="kn">from</span> <span class="nn">pyanaconda.simpleconfig</span> <span class="kn">import</span> <span class="n">SimpleConfigFile</span>
<span class="kn">from</span> <span class="nn">pylorax.api.projects</span> <span class="kn">import</span> <span class="n">projects_depsolve</span><span class="p">,</span> <span class="n">dep_nevra</span> <span class="c"># Use pykickstart to calculate disk image size</span>
<span class="kn">from</span> <span class="nn">pykickstart.parser</span> <span class="kn">import</span> <span class="n">KickstartParser</span>
<span class="kn">from</span> <span class="nn">pykickstart.version</span> <span class="kn">import</span> <span class="n">makeVersion</span><span class="p">,</span> <span class="n">RHEL7</span>
<span class="kn">from</span> <span class="nn">pylorax.api.projects</span> <span class="kn">import</span> <span class="n">projects_depsolve_with_size</span><span class="p">,</span> <span class="n">dep_nevra</span>
<span class="kn">from</span> <span class="nn">pylorax.api.projects</span> <span class="kn">import</span> <span class="n">ProjectsError</span> <span class="kn">from</span> <span class="nn">pylorax.api.projects</span> <span class="kn">import</span> <span class="n">ProjectsError</span>
<span class="kn">from</span> <span class="nn">pylorax.api.recipes</span> <span class="kn">import</span> <span class="n">read_recipe_and_id</span> <span class="kn">from</span> <span class="nn">pylorax.api.recipes</span> <span class="kn">import</span> <span class="n">read_recipe_and_id</span>
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">default_image_name</span> <span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">default_image_name</span>
@ -171,11 +176,32 @@
<span class="n">deps</span> <span class="o">=</span> <span class="p">[]</span> <span class="n">deps</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="k">with</span> <span class="n">yumlock</span><span class="o">.</span><span class="n">lock</span><span class="p">:</span> <span class="k">with</span> <span class="n">yumlock</span><span class="o">.</span><span class="n">lock</span><span class="p">:</span>
<span class="n">deps</span> <span class="o">=</span> <span class="n">projects_depsolve</span><span class="p">(</span><span class="n">yumlock</span><span class="o">.</span><span class="n">yb</span><span class="p">,</span> <span class="n">projects</span><span class="p">)</span> <span class="p">(</span><span class="n">installed_size</span><span class="p">,</span> <span class="n">deps</span><span class="p">)</span> <span class="o">=</span> <span class="n">projects_depsolve_with_size</span><span class="p">(</span><span class="n">yumlock</span><span class="o">.</span><span class="n">yb</span><span class="p">,</span> <span class="n">projects</span><span class="p">,</span> <span class="n">with_core</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="k">except</span> <span class="n">ProjectsError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="k">except</span> <span class="n">ProjectsError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start_build depsolve: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start_build depsolve: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Problem depsolving </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">recipe</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Problem depsolving </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">recipe</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
<span class="c"># Read the kickstart template for this type</span>
<span class="n">ks_template_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">share_dir</span><span class="p">,</span> <span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="n">compose_type</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;.ks&quot;</span>
<span class="n">ks_template</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">ks_template_path</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
<span class="c"># How much space will the packages in the default template take?</span>
<span class="n">ks_version</span> <span class="o">=</span> <span class="n">makeVersion</span><span class="p">(</span><span class="n">RHEL7</span><span class="p">)</span>
<span class="n">ks</span> <span class="o">=</span> <span class="n">KickstartParser</span><span class="p">(</span><span class="n">ks_version</span><span class="p">,</span> <span class="n">errorsAreFatal</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">missingIncludeIsFatal</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="n">ks</span><span class="o">.</span><span class="n">readKickstartFromString</span><span class="p">(</span><span class="n">ks_template</span><span class="o">+</span><span class="s">&quot;</span><span class="se">\n</span><span class="si">%e</span><span class="s">nd</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">with</span> <span class="n">yumlock</span><span class="o">.</span><span class="n">lock</span><span class="p">:</span>
<span class="p">(</span><span class="n">template_size</span><span class="p">,</span> <span class="n">_</span><span class="p">)</span> <span class="o">=</span> <span class="n">projects_depsolve_with_size</span><span class="p">(</span><span class="n">yumlock</span><span class="o">.</span><span class="n">yb</span><span class="p">,</span> <span class="n">ks</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">packages</span><span class="o">.</span><span class="n">packageList</span><span class="p">,</span>
<span class="n">with_core</span><span class="o">=</span><span class="ow">not</span> <span class="n">ks</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">packages</span><span class="o">.</span><span class="n">nocore</span><span class="p">)</span>
<span class="k">except</span> <span class="n">ProjectsError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;start_build depsolve: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Problem depsolving </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">recipe</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
<span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;installed_size = </span><span class="si">%d</span><span class="s">, template_size=</span><span class="si">%d</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">installed_size</span><span class="p">,</span> <span class="n">template_size</span><span class="p">)</span>
<span class="c"># Minimum LMC disk size is 1GiB, and anaconda bumps the estimated size up by 35% (which doesn&#39;t always work).</span>
<span class="n">installed_size</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">1024</span><span class="o">**</span><span class="mi">3</span><span class="p">,</span> <span class="nb">int</span><span class="p">((</span><span class="n">installed_size</span><span class="o">+</span><span class="n">template_size</span><span class="p">)</span> <span class="o">*</span> <span class="mf">1.4</span><span class="p">))</span>
<span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;/ partition size = </span><span class="si">%d</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">installed_size</span><span class="p">)</span>
<span class="c"># Create the results directory</span> <span class="c"># Create the results directory</span>
<span class="n">build_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid4</span><span class="p">())</span> <span class="n">build_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid4</span><span class="p">())</span>
<span class="n">results_dir</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">lib_dir</span><span class="p">,</span> <span class="s">&quot;results&quot;</span><span class="p">,</span> <span class="n">build_id</span><span class="p">)</span> <span class="n">results_dir</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">lib_dir</span><span class="p">,</span> <span class="s">&quot;results&quot;</span><span class="p">,</span> <span class="n">build_id</span><span class="p">)</span>
@ -187,7 +213,7 @@
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">commit_id</span><span class="p">)</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">commit_id</span><span class="p">)</span>
<span class="c"># Write the original recipe</span> <span class="c"># Write the original recipe</span>
<span class="n">recipe_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;recipe.toml&quot;</span><span class="p">)</span> <span class="n">recipe_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;blueprint.toml&quot;</span><span class="p">)</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">recipe_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">recipe_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">recipe</span><span class="o">.</span><span class="n">toml</span><span class="p">())</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">recipe</span><span class="o">.</span><span class="n">toml</span><span class="p">())</span>
@ -197,16 +223,14 @@
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">recipe_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">recipe_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">frozen_recipe</span><span class="o">.</span><span class="n">toml</span><span class="p">())</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">frozen_recipe</span><span class="o">.</span><span class="n">toml</span><span class="p">())</span>
<span class="c"># Read the kickstart template for this type and copy it into the results</span>
<span class="n">ks_template_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">share_dir</span><span class="p">,</span> <span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="n">compose_type</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;.ks&quot;</span>
<span class="n">shutil</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">ks_template_path</span><span class="p">,</span> <span class="n">results_dir</span><span class="p">)</span>
<span class="n">ks_template</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">ks_template_path</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
<span class="c"># Write out the dependencies to the results dir</span> <span class="c"># Write out the dependencies to the results dir</span>
<span class="n">deps_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;deps.toml&quot;</span><span class="p">)</span> <span class="n">deps_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;deps.toml&quot;</span><span class="p">)</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">deps_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">deps_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">toml</span><span class="o">.</span><span class="n">dumps</span><span class="p">({</span><span class="s">&quot;packages&quot;</span><span class="p">:</span><span class="n">deps</span><span class="p">})</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">&quot;UTF-8&quot;</span><span class="p">))</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">toml</span><span class="o">.</span><span class="n">dumps</span><span class="p">({</span><span class="s">&quot;packages&quot;</span><span class="p">:</span><span class="n">deps</span><span class="p">})</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">&quot;UTF-8&quot;</span><span class="p">))</span>
<span class="c"># Save a copy of the original kickstart</span>
<span class="n">shutil</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">ks_template_path</span><span class="p">,</span> <span class="n">results_dir</span><span class="p">)</span>
<span class="c"># Create the final kickstart with repos and package list</span> <span class="c"># Create the final kickstart with repos and package list</span>
<span class="n">ks_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;final-kickstart.ks&quot;</span><span class="p">)</span> <span class="n">ks_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;final-kickstart.ks&quot;</span><span class="p">)</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">ks_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">ks_path</span><span class="p">,</span> <span class="s">&quot;w&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
@ -223,6 +247,9 @@
<span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;repo composer-</span><span class="si">%s</span><span class="s"> = </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">ks_repo</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;repo composer-</span><span class="si">%s</span><span class="s"> = </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">ks_repo</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&#39;repo --name=&quot;composer-</span><span class="si">%s</span><span class="s">&quot; </span><span class="si">%s</span><span class="se">\n</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">ks_repo</span><span class="p">))</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&#39;repo --name=&quot;composer-</span><span class="si">%s</span><span class="s">&quot; </span><span class="si">%s</span><span class="se">\n</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">ks_repo</span><span class="p">))</span>
<span class="c"># Write the root partition and it&#39;s size in MB (rounded up)</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&#39;part / --fstype=&quot;ext4&quot; --size=</span><span class="si">%d</span><span class="se">\n</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">ceil</span><span class="p">(</span><span class="n">installed_size</span> <span class="o">/</span> <span class="mi">1024</span><span class="o">**</span><span class="mi">2</span><span class="p">))</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">ks_template</span><span class="p">)</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">ks_template</span><span class="p">)</span>
<span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">deps</span><span class="p">:</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">deps</span><span class="p">:</span>
@ -265,18 +292,18 @@
<span class="k">if</span> <span class="n">test_mode</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span> <span class="k">if</span> <span class="n">test_mode</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;TEST&quot;</span><span class="p">),</span> <span class="s">&quot;w&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">test_mode</span><span class="p">)</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;TEST&quot;</span><span class="p">),</span> <span class="s">&quot;w&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">test_mode</span><span class="p">)</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Adding </span><span class="si">%s</span><span class="s"> with recipe </span><span class="si">%s</span><span class="s"> output type </span><span class="si">%s</span><span class="s"> to compose queue&quot;</span><span class="p">,</span> <span class="n">build_id</span><span class="p">,</span> <span class="n">recipe</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">compose_type</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Adding </span><span class="si">%s</span><span class="s"> (</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">) to compose queue&quot;</span><span class="p">,</span> <span class="n">build_id</span><span class="p">,</span> <span class="n">recipe</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="n">compose_type</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">symlink</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">lib_dir</span><span class="p">,</span> <span class="s">&quot;queue/new/&quot;</span><span class="p">,</span> <span class="n">build_id</span><span class="p">))</span> <span class="n">os</span><span class="o">.</span><span class="n">symlink</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">lib_dir</span><span class="p">,</span> <span class="s">&quot;queue/new/&quot;</span><span class="p">,</span> <span class="n">build_id</span><span class="p">))</span>
<span class="k">return</span> <span class="n">build_id</span> <span class="k">return</span> <span class="n">build_id</span>
<span class="c"># Supported output types</span></div> <span class="c"># Supported output types</span></div>
<div class="viewcode-block" id="compose_types"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.compose.compose_types">[docs]</a><span class="k">def</span> <span class="nf">compose_types</span><span class="p">(</span><span class="n">share_dir</span><span class="p">):</span> <div class="viewcode-block" id="compose_types"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.compose.compose_types">[docs]</a><span class="k">def</span> <span class="nf">compose_types</span><span class="p">(</span><span class="n">share_dir</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot; Returns a list of the supported output types</span> <span class="sd">r&quot;&quot;&quot; Returns a list of the supported output types</span>
<span class="sd"> The output types come from the kickstart names in /usr/share/lorax/composer/*ks</span> <span class="sd"> The output types come from the kickstart names in /usr/share/lorax/composer/\*ks</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">ks</span><span class="p">)[:</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span> <span class="k">for</span> <span class="n">ks</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">share_dir</span><span class="p">,</span> <span class="s">&quot;composer/*.ks&quot;</span><span class="p">))]</span> <span class="k">return</span> <span class="nb">sorted</span><span class="p">([</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">ks</span><span class="p">)[:</span><span class="o">-</span><span class="mi">3</span><span class="p">]</span> <span class="k">for</span> <span class="n">ks</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">share_dir</span><span class="p">,</span> <span class="s">&quot;composer/*.ks&quot;</span><span class="p">))])</span>
</div> </div>
<div class="viewcode-block" id="compose_args"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.compose.compose_args">[docs]</a><span class="k">def</span> <span class="nf">compose_args</span><span class="p">(</span><span class="n">compose_type</span><span class="p">):</span> <div class="viewcode-block" id="compose_args"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.compose.compose_args">[docs]</a><span class="k">def</span> <span class="nf">compose_args</span><span class="p">(</span><span class="n">compose_type</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot; Returns the settings to pass to novirt_install for the compose type</span> <span class="sd">&quot;&quot;&quot; Returns the settings to pass to novirt_install for the compose type</span>
@ -300,7 +327,7 @@
<span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;qcow2_arg&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="s">&quot;qcow2_args&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="n">default_image_name</span><span class="p">(</span><span class="s">&quot;xz&quot;</span><span class="p">,</span> <span class="s">&quot;root.tar&quot;</span><span class="p">),</span> <span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="n">default_image_name</span><span class="p">(</span><span class="s">&quot;xz&quot;</span><span class="p">,</span> <span class="s">&quot;root.tar&quot;</span><span class="p">),</span>
<span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span> <span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="s">&quot;app_name&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span> <span class="s">&quot;app_name&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
@ -319,7 +346,7 @@
<span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;qcow2_arg&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="s">&quot;qcow2_args&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="s">&quot;live.iso&quot;</span><span class="p">,</span> <span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="s">&quot;live.iso&quot;</span><span class="p">,</span>
<span class="s">&quot;fs_label&quot;</span><span class="p">:</span> <span class="s">&quot;Anaconda&quot;</span><span class="p">,</span> <span class="c"># Live booting may expect this to be &#39;Anaconda&#39;</span> <span class="s">&quot;fs_label&quot;</span><span class="p">:</span> <span class="s">&quot;Anaconda&quot;</span><span class="p">,</span> <span class="c"># Live booting may expect this to be &#39;Anaconda&#39;</span>
<span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
@ -339,7 +366,7 @@
<span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span> <span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;qcow2_arg&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="s">&quot;qcow2_args&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="s">&quot;disk.img&quot;</span><span class="p">,</span> <span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="s">&quot;disk.img&quot;</span><span class="p">,</span>
<span class="s">&quot;fs_label&quot;</span><span class="p">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span> <span class="s">&quot;fs_label&quot;</span><span class="p">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
<span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span> <span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
@ -347,6 +374,46 @@
<span class="s">&quot;app_template&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span> <span class="s">&quot;app_template&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="s">&quot;app_file&quot;</span><span class="p">:</span> <span class="bp">None</span> <span class="s">&quot;app_file&quot;</span><span class="p">:</span> <span class="bp">None</span>
<span class="p">},</span> <span class="p">},</span>
<span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s">&quot;make_iso&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_disk&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="s">&quot;make_fsimage&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_appliance&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_ami&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_tar&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_pxe_live&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_ostree_live&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;ostree&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="s">&quot;qcow2_args&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="s">&quot;disk.qcow2&quot;</span><span class="p">,</span>
<span class="s">&quot;fs_label&quot;</span><span class="p">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
<span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="s">&quot;app_name&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="s">&quot;app_template&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="s">&quot;app_file&quot;</span><span class="p">:</span> <span class="bp">None</span>
<span class="p">},</span>
<span class="s">&quot;ext4-filesystem&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s">&quot;make_iso&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_disk&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_fsimage&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="s">&quot;make_appliance&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_ami&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_tar&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_pxe_live&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;make_ostree_live&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;ostree&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_keep_size&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;live_rootfs_size&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;qcow2&quot;</span><span class="p">:</span> <span class="bp">False</span><span class="p">,</span>
<span class="s">&quot;qcow2_args&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;image_name&quot;</span><span class="p">:</span> <span class="s">&quot;filesystem.img&quot;</span><span class="p">,</span>
<span class="s">&quot;fs_label&quot;</span><span class="p">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
<span class="s">&quot;image_only&quot;</span><span class="p">:</span> <span class="bp">True</span><span class="p">,</span>
<span class="s">&quot;app_name&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="s">&quot;app_template&quot;</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="s">&quot;app_file&quot;</span><span class="p">:</span> <span class="bp">None</span>
<span class="p">},</span>
<span class="p">}</span> <span class="p">}</span>
<span class="k">return</span> <span class="n">_MAP</span><span class="p">[</span><span class="n">compose_type</span><span class="p">]</span> <span class="k">return</span> <span class="n">_MAP</span><span class="p">[</span><span class="n">compose_type</span><span class="p">]</span>
</div> </div>
@ -363,7 +430,7 @@
<span class="k">elif</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;make_iso&quot;</span><span class="p">]:</span> <span class="k">elif</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;make_iso&quot;</span><span class="p">]:</span>
<span class="c"># Output from live iso is always a boot.iso under images/, move and rename it</span> <span class="c"># Output from live iso is always a boot.iso under images/, move and rename it</span>
<span class="n">shutil</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="p">[</span><span class="s">&quot;result_dir&quot;</span><span class="p">],</span> <span class="s">&quot;images/boot.iso&quot;</span><span class="p">),</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;image_name&quot;</span><span class="p">]))</span> <span class="n">shutil</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="p">[</span><span class="s">&quot;result_dir&quot;</span><span class="p">],</span> <span class="s">&quot;images/boot.iso&quot;</span><span class="p">),</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;image_name&quot;</span><span class="p">]))</span>
<span class="k">elif</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;make_disk&quot;</span><span class="p">]:</span> <span class="k">elif</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;make_disk&quot;</span><span class="p">]</span> <span class="ow">or</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;make_fsimage&quot;</span><span class="p">]:</span>
<span class="n">shutil</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="p">[</span><span class="s">&quot;result_dir&quot;</span><span class="p">],</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;image_name&quot;</span><span class="p">]),</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;image_name&quot;</span><span class="p">]))</span> <span class="n">shutil</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="p">[</span><span class="s">&quot;result_dir&quot;</span><span class="p">],</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;image_name&quot;</span><span class="p">]),</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">cfg</span><span class="p">[</span><span class="s">&quot;image_name&quot;</span><span class="p">]))</span>
@ -405,7 +472,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.config &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.config &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -98,6 +98,7 @@
<span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;share_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/usr/share/lorax/&quot;</span><span class="p">)))</span> <span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;share_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/usr/share/lorax/&quot;</span><span class="p">)))</span>
<span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;lib_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/lib/lorax/composer/&quot;</span><span class="p">)))</span> <span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;lib_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/lib/lorax/composer/&quot;</span><span class="p">)))</span>
<span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;yum_conf&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/yum.conf&quot;</span><span class="p">)))</span> <span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;yum_conf&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/yum.conf&quot;</span><span class="p">)))</span>
<span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;yum_root&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/yum/root/&quot;</span><span class="p">)))</span>
<span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;repo_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/repos.d/&quot;</span><span class="p">)))</span> <span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;repo_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/repos.d/&quot;</span><span class="p">)))</span>
<span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;cache_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/cache/&quot;</span><span class="p">)))</span> <span class="n">conf</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;cache_dir&quot;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">root_dir</span><span class="p">,</span> <span class="s">&quot;/var/tmp/composer/cache/&quot;</span><span class="p">)))</span>
@ -123,7 +124,7 @@
<span class="sd"> :type conf: ComposerConfig</span> <span class="sd"> :type conf: ComposerConfig</span>
<span class="sd"> :returns: None</span> <span class="sd"> :returns: None</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;yum_conf&quot;</span><span class="p">,</span> <span class="s">&quot;repo_dir&quot;</span><span class="p">,</span> <span class="s">&quot;cache_dir&quot;</span><span class="p">]:</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;yum_conf&quot;</span><span class="p">,</span> <span class="s">&quot;repo_dir&quot;</span><span class="p">,</span> <span class="s">&quot;cache_dir&quot;</span><span class="p">,</span> <span class="s">&quot;yum_root&quot;</span><span class="p">]:</span>
<span class="n">p_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="n">p_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">p_dir</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">p_dir</span><span class="p">):</span>
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">p_dir</span><span class="p">)</span> <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">p_dir</span><span class="p">)</span>
@ -190,7 +191,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.crossdomain &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.crossdomain &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -148,7 +148,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.projects &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.projects &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -136,7 +136,7 @@
<span class="sd"> metadata entries are hard-coded to {}</span> <span class="sd"> metadata entries are hard-coded to {}</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">build</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;epoch&quot;</span><span class="p">:</span> <span class="n">yaps</span><span class="o">.</span><span class="n">epoch</span><span class="p">,</span> <span class="n">build</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;epoch&quot;</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">yaps</span><span class="o">.</span><span class="n">epoch</span><span class="p">),</span>
<span class="s">&quot;release&quot;</span><span class="p">:</span> <span class="n">yaps</span><span class="o">.</span><span class="n">release</span><span class="p">,</span> <span class="s">&quot;release&quot;</span><span class="p">:</span> <span class="n">yaps</span><span class="o">.</span><span class="n">release</span><span class="p">,</span>
<span class="s">&quot;arch&quot;</span><span class="p">:</span> <span class="n">yaps</span><span class="o">.</span><span class="n">arch</span><span class="p">,</span> <span class="s">&quot;arch&quot;</span><span class="p">:</span> <span class="n">yaps</span><span class="o">.</span><span class="n">arch</span><span class="p">,</span>
<span class="s">&quot;build_time&quot;</span><span class="p">:</span> <span class="n">api_time</span><span class="p">(</span><span class="n">yaps</span><span class="o">.</span><span class="n">buildtime</span><span class="p">),</span> <span class="s">&quot;build_time&quot;</span><span class="p">:</span> <span class="n">api_time</span><span class="p">(</span><span class="n">yaps</span><span class="o">.</span><span class="n">buildtime</span><span class="p">),</span>
@ -166,7 +166,7 @@
<span class="sd"> :rtype: dict</span> <span class="sd"> :rtype: dict</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="k">return</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
<span class="s">&quot;epoch&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">epoch</span><span class="p">,</span> <span class="s">&quot;epoch&quot;</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">tm</span><span class="o">.</span><span class="n">epoch</span><span class="p">),</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">version</span><span class="p">,</span>
<span class="s">&quot;release&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">release</span><span class="p">,</span> <span class="s">&quot;release&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">release</span><span class="p">,</span>
<span class="s">&quot;arch&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">arch</span><span class="p">}</span> <span class="s">&quot;arch&quot;</span><span class="p">:</span> <span class="n">tm</span><span class="o">.</span><span class="n">arch</span><span class="p">}</span>
@ -194,10 +194,10 @@
<span class="sd"> :returns: epoch:version-release.arch</span> <span class="sd"> :returns: epoch:version-release.arch</span>
<span class="sd"> :rtype: str</span> <span class="sd"> :rtype: str</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">dep</span><span class="p">[</span><span class="s">&quot;epoch&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;0&quot;</span><span class="p">:</span> <span class="k">if</span> <span class="n">dep</span><span class="p">[</span><span class="s">&quot;epoch&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">return</span> <span class="n">dep</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;-&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;release&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;.&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;arch&quot;</span><span class="p">]</span> <span class="k">return</span> <span class="n">dep</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;-&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;release&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;.&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;arch&quot;</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="n">dep</span><span class="p">[</span><span class="s">&quot;epoch&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;:&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;-&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;release&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;.&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;arch&quot;</span><span class="p">]</span> <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;epoch&quot;</span><span class="p">])</span><span class="o">+</span><span class="s">&quot;:&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;-&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;release&quot;</span><span class="p">]</span><span class="o">+</span><span class="s">&quot;.&quot;</span><span class="o">+</span><span class="n">dep</span><span class="p">[</span><span class="s">&quot;arch&quot;</span><span class="p">]</span>
</div> </div>
<div class="viewcode-block" id="dep_nevra"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.projects.dep_nevra">[docs]</a><span class="k">def</span> <span class="nf">dep_nevra</span><span class="p">(</span><span class="n">dep</span><span class="p">):</span> <div class="viewcode-block" id="dep_nevra"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.projects.dep_nevra">[docs]</a><span class="k">def</span> <span class="nf">dep_nevra</span><span class="p">(</span><span class="n">dep</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Return the name-epoch:version-release.arch&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;Return the name-epoch:version-release.arch&quot;&quot;&quot;</span>
@ -264,7 +264,55 @@
<span class="k">finally</span><span class="p">:</span> <span class="k">finally</span><span class="p">:</span>
<span class="n">yb</span><span class="o">.</span><span class="n">closeRpmDB</span><span class="p">()</span> <span class="n">yb</span><span class="o">.</span><span class="n">closeRpmDB</span><span class="p">()</span>
<span class="k">return</span> <span class="n">deps</span> <span class="k">return</span> <span class="n">deps</span>
</div>
<div class="viewcode-block" id="estimate_size"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.projects.estimate_size">[docs]</a><span class="k">def</span> <span class="nf">estimate_size</span><span class="p">(</span><span class="n">packages</span><span class="p">,</span> <span class="n">block_size</span><span class="o">=</span><span class="mi">4096</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Estimate the installed size of a package list</span>
<span class="sd"> :param packages: The packages to be installed</span>
<span class="sd"> :type packages: list of TransactionMember objects</span>
<span class="sd"> :param block_size: The block size to use for rounding up file sizes.</span>
<span class="sd"> :type block_size: int</span>
<span class="sd"> :returns: The estimated size of installed packages</span>
<span class="sd"> :rtype: int</span>
<span class="sd"> Estimating actual requirements is difficult without the actual file sizes, which</span>
<span class="sd"> yum doesn&#39;t provide access to. So use the file count and block size to estimate</span>
<span class="sd"> a minimum size for each package.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">installed_size</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">packages</span><span class="p">:</span>
<span class="n">installed_size</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">po</span><span class="o">.</span><span class="n">filelist</span><span class="p">)</span> <span class="o">*</span> <span class="n">block_size</span>
<span class="n">installed_size</span> <span class="o">+=</span> <span class="n">p</span><span class="o">.</span><span class="n">po</span><span class="o">.</span><span class="n">installedsize</span>
<span class="k">return</span> <span class="n">installed_size</span>
</div>
<div class="viewcode-block" id="projects_depsolve_with_size"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.projects.projects_depsolve_with_size">[docs]</a><span class="k">def</span> <span class="nf">projects_depsolve_with_size</span><span class="p">(</span><span class="n">yb</span><span class="p">,</span> <span class="n">project_names</span><span class="p">,</span> <span class="n">with_core</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Return the dependencies and installed size for a list of projects</span>
<span class="sd"> :param yb: yum base object</span>
<span class="sd"> :type yb: YumBase</span>
<span class="sd"> :param project_names: The projects to find the dependencies for</span>
<span class="sd"> :type project_names: List of Strings</span>
<span class="sd"> :returns: installed size and a list of NEVRA&#39;s of the project and its dependencies</span>
<span class="sd"> :rtype: tuple of (int, list of dicts)</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">try</span><span class="p">:</span>
<span class="c"># This resets the transaction</span>
<span class="n">yb</span><span class="o">.</span><span class="n">closeRpmDB</span><span class="p">()</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">project_names</span><span class="p">:</span>
<span class="n">yb</span><span class="o">.</span><span class="n">install</span><span class="p">(</span><span class="n">pattern</span><span class="o">=</span><span class="n">p</span><span class="p">)</span>
<span class="k">if</span> <span class="n">with_core</span><span class="p">:</span>
<span class="n">yb</span><span class="o">.</span><span class="n">selectGroup</span><span class="p">(</span><span class="s">&quot;core&quot;</span><span class="p">,</span> <span class="n">group_package_types</span><span class="o">=</span><span class="p">[</span><span class="s">&#39;mandatory&#39;</span><span class="p">,</span> <span class="s">&#39;default&#39;</span><span class="p">,</span> <span class="s">&#39;optional&#39;</span><span class="p">])</span>
<span class="p">(</span><span class="n">rc</span><span class="p">,</span> <span class="n">msg</span><span class="p">)</span> <span class="o">=</span> <span class="n">yb</span><span class="o">.</span><span class="n">buildTransaction</span><span class="p">()</span>
<span class="k">if</span> <span class="n">rc</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">]:</span>
<span class="k">raise</span> <span class="n">ProjectsError</span><span class="p">(</span><span class="s">&quot;There was a problem depsolving </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">project_names</span><span class="p">,</span> <span class="n">msg</span><span class="p">))</span>
<span class="n">yb</span><span class="o">.</span><span class="n">tsInfo</span><span class="o">.</span><span class="n">makelists</span><span class="p">()</span>
<span class="n">installed_size</span> <span class="o">=</span> <span class="n">estimate_size</span><span class="p">(</span><span class="n">yb</span><span class="o">.</span><span class="n">tsInfo</span><span class="o">.</span><span class="n">installed</span> <span class="o">+</span> <span class="n">yb</span><span class="o">.</span><span class="n">tsInfo</span><span class="o">.</span><span class="n">depinstalled</span><span class="p">)</span>
<span class="n">deps</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="n">tm_to_dep</span><span class="p">,</span> <span class="n">yb</span><span class="o">.</span><span class="n">tsInfo</span><span class="o">.</span><span class="n">installed</span> <span class="o">+</span> <span class="n">yb</span><span class="o">.</span><span class="n">tsInfo</span><span class="o">.</span><span class="n">depinstalled</span><span class="p">),</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">p</span><span class="p">:</span> <span class="n">p</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">())</span>
<span class="k">except</span> <span class="n">YumBaseError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">ProjectsError</span><span class="p">(</span><span class="s">&quot;There was a problem depsolving </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">project_names</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
<span class="k">finally</span><span class="p">:</span>
<span class="n">yb</span><span class="o">.</span><span class="n">closeRpmDB</span><span class="p">()</span>
<span class="k">return</span> <span class="p">(</span><span class="n">installed_size</span><span class="p">,</span> <span class="n">deps</span><span class="p">)</span>
</div> </div>
<div class="viewcode-block" id="modules_list"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.projects.modules_list">[docs]</a><span class="k">def</span> <span class="nf">modules_list</span><span class="p">(</span><span class="n">yb</span><span class="p">,</span> <span class="n">module_names</span><span class="p">):</span> <div class="viewcode-block" id="modules_list"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.projects.modules_list">[docs]</a><span class="k">def</span> <span class="nf">modules_list</span><span class="p">(</span><span class="n">yb</span><span class="p">,</span> <span class="n">module_names</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Return a list of modules</span> <span class="sd">&quot;&quot;&quot;Return a list of modules</span>
@ -347,7 +395,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.queue &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.queue &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -158,7 +158,7 @@
<span class="n">make_compose</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">dst</span><span class="p">))</span> <span class="n">make_compose</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">dst</span><span class="p">))</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Finished building </span><span class="si">%s</span><span class="s">, results are in </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">dst</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">dst</span><span class="p">))</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Finished building </span><span class="si">%s</span><span class="s">, results are in </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">dst</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">dst</span><span class="p">))</span>
<span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">dst</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">),</span> <span class="s">&quot;w&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&quot;FINISHED</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">dst</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">),</span> <span class="s">&quot;w&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">&quot;FINISHED</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
<span class="kn">import</span> <span class="nn">traceback</span> <span class="kn">import</span> <span class="nn">traceback</span>
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;traceback: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">())</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;traceback: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">())</span>
@ -288,6 +288,7 @@
<span class="sd"> :type results_dir: str</span> <span class="sd"> :type results_dir: str</span>
<span class="sd"> :returns: A dictionary with details about the compose</span> <span class="sd"> :returns: A dictionary with details about the compose</span>
<span class="sd"> :rtype: dict</span> <span class="sd"> :rtype: dict</span>
<span class="sd"> :raises: IOError if it cannot read the directory, STATUS, or blueprint file.</span>
<span class="sd"> The following details are included in the dict:</span> <span class="sd"> The following details are included in the dict:</span>
@ -295,26 +296,30 @@
<span class="sd"> * queue_status - The final status of the composition (FINISHED or FAILED)</span> <span class="sd"> * queue_status - The final status of the composition (FINISHED or FAILED)</span>
<span class="sd"> * timestamp - The time of the last status change</span> <span class="sd"> * timestamp - The time of the last status change</span>
<span class="sd"> * compose_type - The type of output generated (tar, iso, etc.)</span> <span class="sd"> * compose_type - The type of output generated (tar, iso, etc.)</span>
<span class="sd"> * recipe - Recipe name</span> <span class="sd"> * blueprint - Blueprint name</span>
<span class="sd"> * version - Recipe version</span> <span class="sd"> * version - Blueprint version</span>
<span class="sd"> * image_size - Size of the image, if finished. 0 otherwise.</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c"># Just in case it went away</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">results_dir</span><span class="p">):</span>
<span class="k">return</span> <span class="p">{}</span>
<span class="n">build_id</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">results_dir</span><span class="p">))</span> <span class="n">build_id</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">results_dir</span><span class="p">))</span>
<span class="n">status</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="n">status</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="n">mtime</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">st_mtime</span> <span class="n">mtime</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">st_mtime</span>
<span class="n">recipe</span> <span class="o">=</span> <span class="n">recipe_from_file</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;recipe.toml&quot;</span><span class="p">))</span> <span class="n">blueprint</span> <span class="o">=</span> <span class="n">recipe_from_file</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s">&quot;blueprint.toml&quot;</span><span class="p">))</span>
<span class="n">compose_type</span> <span class="o">=</span> <span class="n">get_compose_type</span><span class="p">(</span><span class="n">results_dir</span><span class="p">)</span> <span class="n">compose_type</span> <span class="o">=</span> <span class="n">get_compose_type</span><span class="p">(</span><span class="n">results_dir</span><span class="p">)</span>
<span class="n">image_path</span> <span class="o">=</span> <span class="n">get_image_name</span><span class="p">(</span><span class="n">results_dir</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
<span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="s">&quot;FINISHED&quot;</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">image_path</span><span class="p">):</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">image_path</span><span class="p">)</span><span class="o">.</span><span class="n">st_size</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">return</span> <span class="p">{</span><span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="n">build_id</span><span class="p">,</span> <span class="k">return</span> <span class="p">{</span><span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="n">build_id</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="n">status</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="n">status</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="n">mtime</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="n">mtime</span><span class="p">,</span>
<span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">compose_type</span><span class="p">,</span> <span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">compose_type</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="n">recipe</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;name&quot;</span><span class="p">],</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="n">recipe</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">]</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="n">blueprint</span><span class="p">[</span><span class="s">&quot;version&quot;</span><span class="p">],</span>
<span class="s">&quot;image_size&quot;</span><span class="p">:</span> <span class="n">image_size</span>
<span class="p">}</span> <span class="p">}</span>
</div> </div>
<div class="viewcode-block" id="queue_status"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.queue_status">[docs]</a><span class="k">def</span> <span class="nf">queue_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">):</span> <div class="viewcode-block" id="queue_status"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.queue_status">[docs]</a><span class="k">def</span> <span class="nf">queue_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">):</span>
@ -332,9 +337,25 @@
<span class="n">new_queue</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">queue_dir</span><span class="p">,</span> <span class="s">&quot;new/*&quot;</span><span class="p">))]</span> <span class="n">new_queue</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">queue_dir</span><span class="p">,</span> <span class="s">&quot;new/*&quot;</span><span class="p">))]</span>
<span class="n">run_queue</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">queue_dir</span><span class="p">,</span> <span class="s">&quot;run/*&quot;</span><span class="p">))]</span> <span class="n">run_queue</span> <span class="o">=</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">realpath</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">queue_dir</span><span class="p">,</span> <span class="s">&quot;run/*&quot;</span><span class="p">))]</span>
<span class="n">new_details</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">new_queue</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">d</span> <span class="o">=</span> <span class="n">compose_detail</span><span class="p">(</span><span class="n">n</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span>
<span class="k">continue</span>
<span class="n">new_details</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
<span class="n">run_details</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">run_queue</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">d</span> <span class="o">=</span> <span class="n">compose_detail</span><span class="p">(</span><span class="n">r</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span>
<span class="k">continue</span>
<span class="n">run_details</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
<span class="k">return</span> <span class="p">{</span> <span class="k">return</span> <span class="p">{</span>
<span class="s">&quot;new&quot;</span><span class="p">:</span> <span class="p">[</span><span class="n">compose_detail</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">new_queue</span><span class="p">],</span> <span class="s">&quot;new&quot;</span><span class="p">:</span> <span class="n">new_details</span><span class="p">,</span>
<span class="s">&quot;run&quot;</span><span class="p">:</span> <span class="p">[</span><span class="n">compose_detail</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">run_queue</span><span class="p">]</span> <span class="s">&quot;run&quot;</span><span class="p">:</span> <span class="n">run_details</span>
<span class="p">}</span> <span class="p">}</span>
</div> </div>
<div class="viewcode-block" id="uuid_status"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.uuid_status">[docs]</a><span class="k">def</span> <span class="nf">uuid_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">):</span> <div class="viewcode-block" id="uuid_status"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.uuid_status">[docs]</a><span class="k">def</span> <span class="nf">uuid_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">):</span>
@ -350,9 +371,9 @@
<span class="sd"> Returns the same dict as `compose_details()`</span> <span class="sd"> Returns the same dict as `compose_details()`</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">uuid_dir</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;lib_dir&quot;</span><span class="p">),</span> <span class="s">&quot;results&quot;</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span> <span class="n">uuid_dir</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;lib_dir&quot;</span><span class="p">),</span> <span class="s">&quot;results&quot;</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">):</span> <span class="k">try</span><span class="p">:</span>
<span class="k">return</span> <span class="n">compose_detail</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">)</span> <span class="k">return</span> <span class="n">compose_detail</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span>
<span class="k">return</span> <span class="bp">None</span> <span class="k">return</span> <span class="bp">None</span>
</div> </div>
<div class="viewcode-block" id="build_status"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.build_status">[docs]</a><span class="k">def</span> <span class="nf">build_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">status_filter</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> <div class="viewcode-block" id="build_status"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.build_status">[docs]</a><span class="k">def</span> <span class="nf">build_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">status_filter</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
@ -379,9 +400,12 @@
<span class="k">for</span> <span class="n">build</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">result_dir</span> <span class="o">+</span> <span class="s">&quot;/*&quot;</span><span class="p">):</span> <span class="k">for</span> <span class="n">build</span> <span class="ow">in</span> <span class="n">glob</span><span class="p">(</span><span class="n">result_dir</span> <span class="o">+</span> <span class="s">&quot;/*&quot;</span><span class="p">):</span>
<span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;Checking status of build </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">build</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot;Checking status of build </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">build</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">status</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">build</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">),</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="n">status</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">build</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">),</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="k">if</span> <span class="n">status</span> <span class="ow">in</span> <span class="n">status_filter</span><span class="p">:</span> <span class="k">if</span> <span class="n">status</span> <span class="ow">in</span> <span class="n">status_filter</span><span class="p">:</span>
<span class="n">results</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">compose_detail</span><span class="p">(</span><span class="n">build</span><span class="p">))</span> <span class="n">results</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">compose_detail</span><span class="p">(</span><span class="n">build</span><span class="p">))</span>
<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="k">return</span> <span class="n">results</span> <span class="k">return</span> <span class="n">results</span>
</div> </div>
<div class="viewcode-block" id="uuid_cancel"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.uuid_cancel">[docs]</a><span class="k">def</span> <span class="nf">uuid_cancel</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">):</span> <div class="viewcode-block" id="uuid_cancel"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.uuid_cancel">[docs]</a><span class="k">def</span> <span class="nf">uuid_cancel</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">):</span>
@ -422,7 +446,7 @@
<span class="n">started</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="n">started</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
<span class="k">while</span> <span class="bp">True</span><span class="p">:</span> <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">status</span> <span class="o">=</span> <span class="n">uuid_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span> <span class="n">status</span> <span class="o">=</span> <span class="n">uuid_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span>
<span class="k">if</span> <span class="n">status</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;FAILED&quot;</span><span class="p">:</span> <span class="k">if</span> <span class="n">status</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">or</span> <span class="n">status</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;FAILED&quot;</span><span class="p">:</span>
<span class="k">break</span> <span class="k">break</span>
<span class="c"># Is this taking too long? Exit anyway and try to cleanup.</span> <span class="c"># Is this taking too long? Exit anyway and try to cleanup.</span>
@ -467,8 +491,8 @@
<span class="sd"> * id - The uuid of the comoposition</span> <span class="sd"> * id - The uuid of the comoposition</span>
<span class="sd"> * config - containing the configuration settings used to run Anaconda</span> <span class="sd"> * config - containing the configuration settings used to run Anaconda</span>
<span class="sd"> * recipe - The depsolved recipe used to generate the kickstart</span> <span class="sd"> * blueprint - The depsolved blueprint used to generate the kickstart</span>
<span class="sd"> * commit - The (local) git commit hash for the recipe used</span> <span class="sd"> * commit - The (local) git commit hash for the blueprint used</span>
<span class="sd"> * deps - The NEVRA of all of the dependencies used in the composition</span> <span class="sd"> * deps - The NEVRA of all of the dependencies used in the composition</span>
<span class="sd"> * compose_type - The type of output generated (tar, iso, etc.)</span> <span class="sd"> * compose_type - The type of output generated (tar, iso, etc.)</span>
<span class="sd"> * queue_status - The final status of the composition (FINISHED or FAILED)</span> <span class="sd"> * queue_status - The final status of the composition (FINISHED or FAILED)</span>
@ -493,19 +517,21 @@
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Missing deps.toml for </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">uuid</span><span class="p">)</span> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Missing deps.toml for </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">uuid</span><span class="p">)</span>
<span class="n">deps_dict</span> <span class="o">=</span> <span class="n">toml</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">deps_path</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())</span> <span class="n">deps_dict</span> <span class="o">=</span> <span class="n">toml</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">deps_path</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
<span class="n">compose_type</span> <span class="o">=</span> <span class="n">get_compose_type</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">)</span> <span class="n">details</span> <span class="o">=</span> <span class="n">compose_detail</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">)</span>
<span class="n">status</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">,</span> <span class="s">&quot;STATUS&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="n">commit_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">,</span> <span class="s">&quot;COMMIT&quot;</span><span class="p">)</span> <span class="n">commit_path</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">,</span> <span class="s">&quot;COMMIT&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">commit_path</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Missing commit hash for </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">uuid</span><span class="p">)</span>
<span class="n">commit_id</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">commit_path</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="n">commit_id</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">commit_path</span><span class="p">,</span> <span class="s">&quot;r&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="k">return</span> <span class="p">{</span><span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="n">uuid</span><span class="p">,</span> <span class="k">return</span> <span class="p">{</span><span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="n">uuid</span><span class="p">,</span>
<span class="s">&quot;config&quot;</span><span class="p">:</span> <span class="n">cfg_dict</span><span class="p">,</span> <span class="s">&quot;config&quot;</span><span class="p">:</span> <span class="n">cfg_dict</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="n">frozen_dict</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="n">frozen_dict</span><span class="p">,</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="n">commit_id</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="n">commit_id</span><span class="p">,</span>
<span class="s">&quot;deps&quot;</span><span class="p">:</span> <span class="n">deps_dict</span><span class="p">,</span> <span class="s">&quot;deps&quot;</span><span class="p">:</span> <span class="n">deps_dict</span><span class="p">,</span>
<span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">compose_type</span><span class="p">,</span> <span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="n">details</span><span class="p">[</span><span class="s">&quot;compose_type&quot;</span><span class="p">],</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="n">status</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="n">details</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">],</span>
<span class="s">&quot;image_size&quot;</span><span class="p">:</span> <span class="n">details</span><span class="p">[</span><span class="s">&quot;image_size&quot;</span><span class="p">]</span>
<span class="p">}</span> <span class="p">}</span>
</div> </div>
<div class="viewcode-block" id="uuid_tar"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.uuid_tar">[docs]</a><span class="k">def</span> <span class="nf">uuid_tar</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">logs</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> <div class="viewcode-block" id="uuid_tar"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.uuid_tar">[docs]</a><span class="k">def</span> <span class="nf">uuid_tar</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">logs</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
@ -562,6 +588,18 @@
<span class="sd"> :raises: RuntimeError if there was a problem (eg. invalid uuid, missing config file)</span> <span class="sd"> :raises: RuntimeError if there was a problem (eg. invalid uuid, missing config file)</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">uuid_dir</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;lib_dir&quot;</span><span class="p">),</span> <span class="s">&quot;results&quot;</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span> <span class="n">uuid_dir</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">cfg</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;lib_dir&quot;</span><span class="p">),</span> <span class="s">&quot;results&quot;</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span>
<span class="k">return</span> <span class="n">get_image_name</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="get_image_name"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.queue.get_image_name">[docs]</a><span class="k">def</span> <span class="nf">get_image_name</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Return the filename and full path of the build&#39;s image file</span>
<span class="sd"> :param uuid: The UUID of the build</span>
<span class="sd"> :type uuid: str</span>
<span class="sd"> :returns: The image filename and full path</span>
<span class="sd"> :rtype: tuple of strings</span>
<span class="sd"> :raises: RuntimeError if there was a problem (eg. invalid uuid, missing config file)</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">uuid</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">))</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">uuid_dir</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s"> is not a valid build_id&quot;</span> <span class="o">%</span> <span class="n">uuid</span><span class="p">)</span> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%s</span><span class="s"> is not a valid build_id&quot;</span> <span class="o">%</span> <span class="n">uuid</span><span class="p">)</span>
@ -597,6 +635,9 @@
<span class="c"># While a build is running the logs will be in /tmp/anaconda.log and when it</span> <span class="c"># While a build is running the logs will be in /tmp/anaconda.log and when it</span>
<span class="c"># has finished they will be in the results directory</span> <span class="c"># has finished they will be in the results directory</span>
<span class="n">status</span> <span class="o">=</span> <span class="n">uuid_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span> <span class="n">status</span> <span class="o">=</span> <span class="n">uuid_status</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">uuid</span><span class="p">)</span>
<span class="k">if</span> <span class="n">status</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s">&quot;Status is missing for </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="n">uuid</span><span class="p">)</span>
<span class="k">if</span> <span class="n">status</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;RUNNING&quot;</span><span class="p">:</span> <span class="k">if</span> <span class="n">status</span><span class="p">[</span><span class="s">&quot;queue_status&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&quot;RUNNING&quot;</span><span class="p">:</span>
<span class="n">log_path</span> <span class="o">=</span> <span class="s">&quot;/tmp/anaconda.log&quot;</span> <span class="n">log_path</span> <span class="o">=</span> <span class="s">&quot;/tmp/anaconda.log&quot;</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
@ -647,7 +688,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.recipes &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.recipes &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -556,7 +556,7 @@
<span class="n">builder</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">blob_id</span><span class="p">,</span> <span class="n">Git</span><span class="o">.</span><span class="n">FileMode</span><span class="o">.</span><span class="n">BLOB</span><span class="p">)</span> <span class="n">builder</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">blob_id</span><span class="p">,</span> <span class="n">Git</span><span class="o">.</span><span class="n">FileMode</span><span class="o">.</span><span class="n">BLOB</span><span class="p">)</span>
<span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="n">sig</span><span class="p">,</span> <span class="n">ref</span><span class="p">)</span> <span class="o">=</span> <span class="n">prepare_commit</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">builder</span><span class="p">)</span> <span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="n">sig</span><span class="p">,</span> <span class="n">ref</span><span class="p">)</span> <span class="o">=</span> <span class="n">prepare_commit</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">builder</span><span class="p">)</span>
<span class="n">commit_hash</span> <span class="o">=</span> <span class="n">commit_id</span><span class="o">.</span><span class="n">to_string</span><span class="p">()</span> <span class="n">commit_hash</span> <span class="o">=</span> <span class="n">commit_id</span><span class="o">.</span><span class="n">to_string</span><span class="p">()</span>
<span class="n">message</span> <span class="o">=</span> <span class="s">&quot;Recipe </span><span class="si">%s</span><span class="s"> reverted to commit </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">commit_hash</span><span class="p">)</span> <span class="n">message</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s"> reverted to commit </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">commit_hash</span><span class="p">)</span>
<span class="k">return</span> <span class="n">repo</span><span class="o">.</span><span class="n">create_commit</span><span class="p">(</span><span class="n">ref</span><span class="p">,</span> <span class="n">sig</span><span class="p">,</span> <span class="n">sig</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="n">tree</span><span class="p">,</span> <span class="p">[</span><span class="n">parent_commit</span><span class="p">])</span> <span class="k">return</span> <span class="n">repo</span><span class="o">.</span><span class="n">create_commit</span><span class="p">(</span><span class="n">ref</span><span class="p">,</span> <span class="n">sig</span><span class="p">,</span> <span class="n">sig</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="n">tree</span><span class="p">,</span> <span class="p">[</span><span class="n">parent_commit</span><span class="p">])</span>
</div> </div>
<div class="viewcode-block" id="commit_recipe"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.recipes.commit_recipe">[docs]</a><span class="k">def</span> <span class="nf">commit_recipe</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">recipe</span><span class="p">):</span> <div class="viewcode-block" id="commit_recipe"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.recipes.commit_recipe">[docs]</a><span class="k">def</span> <span class="nf">commit_recipe</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">recipe</span><span class="p">):</span>
@ -604,13 +604,13 @@
<span class="k">return</span> <span class="n">commit_recipe</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">recipe</span><span class="p">)</span> <span class="k">return</span> <span class="n">commit_recipe</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">recipe</span><span class="p">)</span>
</div> </div>
<div class="viewcode-block" id="commit_recipe_directory"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.recipes.commit_recipe_directory">[docs]</a><span class="k">def</span> <span class="nf">commit_recipe_directory</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">directory</span><span class="p">):</span> <div class="viewcode-block" id="commit_recipe_directory"><a class="viewcode-back" href="../../../pylorax.api.html#pylorax.api.recipes.commit_recipe_directory">[docs]</a><span class="k">def</span> <span class="nf">commit_recipe_directory</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="n">branch</span><span class="p">,</span> <span class="n">directory</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Commit all *.toml files from a directory, if they aren&#39;t already in git.</span> <span class="sd">r&quot;&quot;&quot;Commit all \*.toml files from a directory, if they aren&#39;t already in git.</span>
<span class="sd"> :param repo: Open repository</span> <span class="sd"> :param repo: Open repository</span>
<span class="sd"> :type repo: Git.Repository</span> <span class="sd"> :type repo: Git.Repository</span>
<span class="sd"> :param branch: Branch name</span> <span class="sd"> :param branch: Branch name</span>
<span class="sd"> :type branch: str</span> <span class="sd"> :type branch: str</span>
<span class="sd"> :param directory: The directory of *.toml recipes to commit</span> <span class="sd"> :param directory: The directory of \*.toml recipes to commit</span>
<span class="sd"> :type directory: str</span> <span class="sd"> :type directory: str</span>
<span class="sd"> :returns: None</span> <span class="sd"> :returns: None</span>
<span class="sd"> :raises: Can raise errors from Ggit or RecipeFileError</span> <span class="sd"> :raises: Can raise errors from Ggit or RecipeFileError</span>
@ -966,7 +966,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.server &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.server &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -71,10 +71,11 @@
<span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">&quot;lorax-composer&quot;</span><span class="p">)</span> <span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">&quot;lorax-composer&quot;</span><span class="p">)</span>
<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">namedtuple</span> <span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">namedtuple</span>
<span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">send_from_directory</span> <span class="kn">from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Flask</span><span class="p">,</span> <span class="n">jsonify</span><span class="p">,</span> <span class="n">redirect</span><span class="p">,</span> <span class="n">send_from_directory</span>
<span class="kn">from</span> <span class="nn">glob</span> <span class="kn">import</span> <span class="n">glob</span> <span class="kn">from</span> <span class="nn">glob</span> <span class="kn">import</span> <span class="n">glob</span>
<span class="kn">import</span> <span class="nn">os</span> <span class="kn">import</span> <span class="nn">os</span>
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">vernum</span>
<span class="kn">from</span> <span class="nn">pylorax.api.crossdomain</span> <span class="kn">import</span> <span class="n">crossdomain</span> <span class="kn">from</span> <span class="nn">pylorax.api.crossdomain</span> <span class="kn">import</span> <span class="n">crossdomain</span>
<span class="kn">from</span> <span class="nn">pylorax.api.v0</span> <span class="kn">import</span> <span class="n">v0_api</span> <span class="kn">from</span> <span class="nn">pylorax.api.v0</span> <span class="kn">import</span> <span class="n">v0_api</span>
<span class="kn">from</span> <span class="nn">pylorax.sysutils</span> <span class="kn">import</span> <span class="n">joinpaths</span> <span class="kn">from</span> <span class="nn">pylorax.sysutils</span> <span class="kn">import</span> <span class="n">joinpaths</span>
@ -87,9 +88,8 @@
<span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;server&quot;</span><span class="p">,</span> <span class="s">&quot;GitLock&quot;</span><span class="p">]</span> <span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s">&quot;server&quot;</span><span class="p">,</span> <span class="s">&quot;GitLock&quot;</span><span class="p">]</span>
<span class="nd">@server.route</span><span class="p">(</span><span class="s">&#39;/&#39;</span><span class="p">)</span> <span class="nd">@server.route</span><span class="p">(</span><span class="s">&#39;/&#39;</span><span class="p">)</span>
<span class="nd">@crossdomain</span><span class="p">(</span><span class="n">origin</span><span class="o">=</span><span class="s">&quot;*&quot;</span><span class="p">)</span> <span class="k">def</span> <span class="nf">server_root</span><span class="p">():</span>
<span class="k">def</span> <span class="nf">hello_world</span><span class="p">():</span> <span class="n">redirect</span><span class="p">(</span><span class="s">&quot;/api/docs/&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="s">&#39;Hello, World!&#39;</span>
<span class="nd">@server.route</span><span class="p">(</span><span class="s">&quot;/api/docs/&quot;</span><span class="p">)</span> <span class="nd">@server.route</span><span class="p">(</span><span class="s">&quot;/api/docs/&quot;</span><span class="p">)</span>
<span class="nd">@server.route</span><span class="p">(</span><span class="s">&quot;/api/docs/&lt;path:path&gt;&quot;</span><span class="p">)</span> <span class="nd">@server.route</span><span class="p">(</span><span class="s">&quot;/api/docs/&lt;path:path&gt;&quot;</span><span class="p">)</span>
@ -105,6 +105,28 @@
<span class="n">path</span><span class="o">=</span><span class="s">&quot;index.html&quot;</span> <span class="n">path</span><span class="o">=</span><span class="s">&quot;index.html&quot;</span>
<span class="k">return</span> <span class="n">send_from_directory</span><span class="p">(</span><span class="n">docs_path</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span> <span class="k">return</span> <span class="n">send_from_directory</span><span class="p">(</span><span class="n">docs_path</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span>
<span class="nd">@server.route</span><span class="p">(</span><span class="s">&quot;/api/status&quot;</span><span class="p">)</span>
<span class="nd">@crossdomain</span><span class="p">(</span><span class="n">origin</span><span class="o">=</span><span class="s">&quot;*&quot;</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">v0_status</span><span class="p">():</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> `/api/v0/status`</span>
<span class="sd"> ^^^^^^^^^^^^^^^^</span>
<span class="sd"> Return the status of the API Server::</span>
<span class="sd"> { &quot;api&quot;: &quot;0&quot;,</span>
<span class="sd"> &quot;build&quot;: &quot;devel&quot;,</span>
<span class="sd"> &quot;db_supported&quot;: true,</span>
<span class="sd"> &quot;db_version&quot;: &quot;0&quot;,</span>
<span class="sd"> &quot;schema_version&quot;: &quot;0&quot;,</span>
<span class="sd"> &quot;backend&quot;: &quot;lorax-composer&quot;}</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">jsonify</span><span class="p">(</span><span class="n">backend</span><span class="o">=</span><span class="s">&quot;lorax-composer&quot;</span><span class="p">,</span>
<span class="n">build</span><span class="o">=</span><span class="n">vernum</span><span class="p">,</span>
<span class="n">api</span><span class="o">=</span><span class="s">&quot;0&quot;</span><span class="p">,</span>
<span class="n">db_version</span><span class="o">=</span><span class="s">&quot;0&quot;</span><span class="p">,</span>
<span class="n">schema_version</span><span class="o">=</span><span class="s">&quot;0&quot;</span><span class="p">,</span>
<span class="n">db_supported</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">v0_api</span><span class="p">(</span><span class="n">server</span><span class="p">)</span> <span class="n">v0_api</span><span class="p">(</span><span class="n">server</span><span class="p">)</span>
</pre></div> </pre></div>
@ -139,7 +161,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.workspace &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.workspace &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -183,7 +183,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.api.yumbase &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.api.yumbase &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../', URL_ROOT: '../../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../../_static/jquery.js"></script> <script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script> <script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script> <script type="text/javascript" src="../../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../../index.html" />
<link rel="up" title="pylorax.api" href="../api.html" /> <link rel="up" title="pylorax.api" href="../api.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li> <li><a href="../api.html" accesskey="U">pylorax.api</a> &raquo;</li>
@ -75,7 +75,6 @@
<span class="kn">import</span> <span class="nn">ConfigParser</span> <span class="kn">import</span> <span class="nn">ConfigParser</span>
<span class="kn">from</span> <span class="nn">fnmatch</span> <span class="kn">import</span> <span class="n">fnmatchcase</span> <span class="kn">from</span> <span class="nn">fnmatch</span> <span class="kn">import</span> <span class="n">fnmatchcase</span>
<span class="kn">from</span> <span class="nn">glob</span> <span class="kn">import</span> <span class="n">glob</span> <span class="kn">from</span> <span class="nn">glob</span> <span class="kn">import</span> <span class="n">glob</span>
<span class="kn">from</span> <span class="nn">distutils.util</span> <span class="kn">import</span> <span class="n">strtobool</span>
<span class="kn">import</span> <span class="nn">os</span> <span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">yum</span> <span class="kn">import</span> <span class="nn">yum</span>
<span class="c"># This is a hack to short circuit yum&#39;s internal logging</span> <span class="c"># This is a hack to short circuit yum&#39;s internal logging</span>
@ -93,6 +92,7 @@
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">cachedir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;cache_dir&quot;</span><span class="p">))</span> <span class="n">cachedir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;cache_dir&quot;</span><span class="p">))</span>
<span class="n">yumconf</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;yum_conf&quot;</span><span class="p">))</span> <span class="n">yumconf</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;yum_conf&quot;</span><span class="p">))</span>
<span class="n">yumroot</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;yum_root&quot;</span><span class="p">))</span>
<span class="n">repodir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;repo_dir&quot;</span><span class="p">))</span> <span class="n">repodir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">conf</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;composer&quot;</span><span class="p">,</span> <span class="s">&quot;repo_dir&quot;</span><span class="p">))</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span> <span class="n">c</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
@ -125,8 +125,7 @@
<span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">fn</span> <span class="o">=</span> <span class="n">yumconf</span> <span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">fn</span> <span class="o">=</span> <span class="n">yumconf</span>
<span class="c"># TODO How to handle this?</span> <span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">root</span> <span class="o">=</span> <span class="n">yumroot</span>
<span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">root</span> <span class="o">=</span> <span class="s">&quot;/var/tmp/composer/yum/root&quot;</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">root</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">root</span><span class="p">):</span>
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">root</span><span class="p">)</span> <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">yb</span><span class="o">.</span><span class="n">preconf</span><span class="o">.</span><span class="n">root</span><span class="p">)</span>
@ -155,6 +154,15 @@
<span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">pattern</span><span class="p">:</span> <span class="n">fnmatchcase</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">pattern</span><span class="p">),</span> <span class="n">enabled_repos</span><span class="p">)):</span> <span class="c"># pylint: disable=cell-var-from-loop</span> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">pattern</span><span class="p">:</span> <span class="n">fnmatchcase</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">pattern</span><span class="p">),</span> <span class="n">enabled_repos</span><span class="p">)):</span> <span class="c"># pylint: disable=cell-var-from-loop</span>
<span class="n">yb</span><span class="o">.</span><span class="n">getReposFromConfigFile</span><span class="p">(</span><span class="n">repo_file</span><span class="p">)</span> <span class="n">yb</span><span class="o">.</span><span class="n">getReposFromConfigFile</span><span class="p">(</span><span class="n">repo_file</span><span class="p">)</span>
<span class="c"># Update the metadata from the enabled repos to speed up later operations</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Updating yum repository metadata&quot;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">yb</span><span class="o">.</span><span class="n">repos</span><span class="o">.</span><span class="n">sort</span><span class="p">():</span>
<span class="n">r</span><span class="o">.</span><span class="n">metadata_expire</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">r</span><span class="o">.</span><span class="n">mdpolicy</span> <span class="o">=</span> <span class="s">&quot;group:all&quot;</span>
<span class="n">yb</span><span class="o">.</span><span class="n">doRepoSetup</span><span class="p">()</span>
<span class="n">yb</span><span class="o">.</span><span class="n">repos</span><span class="o">.</span><span class="n">doSetup</span><span class="p">()</span>
<span class="n">yb</span><span class="o">.</span><span class="n">repos</span><span class="o">.</span><span class="n">populateSack</span><span class="p">(</span><span class="n">mdtype</span><span class="o">=</span><span class="s">&#39;all&#39;</span><span class="p">,</span> <span class="n">cacheonly</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="k">return</span> <span class="n">yb</span></div> <span class="k">return</span> <span class="n">yb</span></div>
</pre></div> </pre></div>
@ -189,7 +197,7 @@
<li class="right" > <li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index" <a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li> <li><a href="../../index.html" >Module code</a> &raquo;</li>
<li><a href="../../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../../pylorax.html" >pylorax</a> &raquo;</li>
<li><a href="../api.html" >pylorax.api</a> &raquo;</li> <li><a href="../api.html" >pylorax.api</a> &raquo;</li>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.base &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.base &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -150,7 +150,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.buildstamp &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.buildstamp &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -141,7 +141,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.creator &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.creator &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -485,6 +485,7 @@
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;Install failed: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot;Install failed: </span><span class="si">%s</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">keep_image</span><span class="p">:</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">opts</span><span class="o">.</span><span class="n">keep_image</span><span class="p">:</span>
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Removing bad disk image&quot;</span><span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;Removing bad disk image&quot;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">disk_img</span><span class="p">):</span>
<span class="n">os</span><span class="o">.</span><span class="n">unlink</span><span class="p">(</span><span class="n">disk_img</span><span class="p">)</span> <span class="n">os</span><span class="o">.</span><span class="n">unlink</span><span class="p">(</span><span class="n">disk_img</span><span class="p">)</span>
<span class="k">raise</span> <span class="k">raise</span>
@ -696,7 +697,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.decorators &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.decorators &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -113,7 +113,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.discinfo &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.discinfo &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -122,7 +122,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.executils &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.executils &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -508,7 +508,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.imgutils &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.imgutils &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -548,7 +548,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.installer &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.installer &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -284,7 +284,7 @@
<span class="n">selinux</span><span class="o">.</span><span class="n">security_setenforce</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="n">selinux</span><span class="o">.</span><span class="n">security_setenforce</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="c"># Clean up /tmp/ from previous runs to prevent stale info from being used</span> <span class="c"># Clean up /tmp/ from previous runs to prevent stale info from being used</span>
<span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;/tmp/yum.repos.d/&quot;</span><span class="p">,</span> <span class="s">&quot;/tmp/yum.cache/&quot;</span><span class="p">]:</span> <span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&quot;/tmp/yum.repos.d/&quot;</span><span class="p">,</span> <span class="s">&quot;/tmp/yum.cache/&quot;</span><span class="p">,</span> <span class="s">&quot;/tmp/yum.root/&quot;</span><span class="p">,</span> <span class="s">&quot;/tmp/yum.pluginconf.d/&quot;</span><span class="p">]:</span>
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">path</span><span class="p">):</span> <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
<span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
@ -471,7 +471,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.logmonitor &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.logmonitor &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -206,7 +206,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.ltmpl &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.ltmpl &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -270,8 +270,8 @@
<span class="c"># log the &quot;ErrorType: this is what happened&quot; line</span> <span class="c"># log the &quot;ErrorType: this is what happened&quot; line</span>
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">exclines</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">exclines</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span>
<span class="c"># and log the entire traceback to the debug log</span> <span class="c"># and log the entire traceback to the debug log</span>
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">exclines</span><span class="p">)</span><span class="o">.</span><span class="n">splitlines</span><span class="p">():</span> <span class="k">for</span> <span class="n">l</span> <span class="ow">in</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">exclines</span><span class="p">)</span><span class="o">.</span><span class="n">splitlines</span><span class="p">():</span>
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">line</span><span class="p">)</span> <span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">l</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fatalerrors</span><span class="p">:</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fatalerrors</span><span class="p">:</span>
<span class="k">raise</span> <span class="k">raise</span>
@ -748,7 +748,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.sysutils &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.sysutils &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -191,7 +191,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.treebuilder &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.treebuilder &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -403,7 +403,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.treeinfo &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.treeinfo &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -140,7 +140,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax.yumhelper &mdash; Lorax 19.7.11 documentation</title> <title>pylorax.yumhelper &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../', URL_ROOT: '../../',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="../../index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="../../index.html" />
<link rel="up" title="pylorax" href="../pylorax.html" /> <link rel="up" title="pylorax" href="../pylorax.html" />
</head> </head>
<body> <body>
@ -38,7 +38,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li> <li><a href="../pylorax.html" accesskey="U">pylorax</a> &raquo;</li>
</ul> </ul>
@ -208,7 +208,7 @@
<li class="right" > <li class="right" >
<a href="../../py-modindex.html" title="Python Module Index" <a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="../../index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="../../index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li> <li><a href="../index.html" >Module code</a> &raquo;</li>
<li><a href="../pylorax.html" >pylorax</a> &raquo;</li> <li><a href="../pylorax.html" >pylorax</a> &raquo;</li>
</ul> </ul>

View File

@ -9,6 +9,14 @@ cli Package
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
:mod:`blueprints` Module
------------------------
.. automodule:: composer.cli.blueprints
:members:
:undoc-members:
:show-inheritance:
:mod:`compose` Module :mod:`compose` Module
--------------------- ---------------------
@ -33,14 +41,6 @@ cli Package
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
:mod:`recipes` Module
---------------------
.. automodule:: composer.cli.recipes
:members:
:undoc-members:
:show-inheritance:
:mod:`utilities` Module :mod:`utilities` Module
----------------------- -----------------------

View File

@ -35,12 +35,12 @@ Quickstart
2. Remove any pre-existing socket directory with ``rm -rf /run/weldr/`` 2. Remove any pre-existing socket directory with ``rm -rf /run/weldr/``
A new directory with correct permissions will be created the first time the server runs. A new directory with correct permissions will be created the first time the server runs.
3. Either start it via systemd with ``systemctl start lorax-composer`` or 3. Either start it via systemd with ``systemctl start lorax-composer`` or
run it directly with ``lorax-composer /path/to/recipes/`` run it directly with ``lorax-composer /path/to/blueprints/``
The ``/path/to/recipes/`` is where the recipe's git repo will be created, and The ``/path/to/blueprints/`` is where the blueprint's git repo will be created, and
all the recipes created with the ``/api/v0/recipes/new`` route will be stored. all the blueprints created with the ``/api/v0/blueprints/new`` route will be stored.
If there are recipe ``.toml`` files in the top level of the directory they will If there are blueprint ``.toml`` files in the top level of the directory they will
be imported into the recipe git storage. be imported into the blueprint git storage.
Composing Images Composing Images
---------------- ----------------
@ -48,7 +48,7 @@ Composing Images
As of version 19.7.7 lorax-composer can create ``tar`` output images. You can use curl to start As of version 19.7.7 lorax-composer can create ``tar`` output images. You can use curl to start
a compose like this:: a compose like this::
curl --unix-socket /run/weldr/api.socket -X POST -H "Content-Type: application/json" -d '{"recipe_name": "http-server", "compose_type": "tar", "branch": "master"}' http:///api/v0/compose curl --unix-socket /run/weldr/api.socket -X POST -H "Content-Type: application/json" -d '{"blueprint_name": "http-server", "compose_type": "tar", "branch": "master"}' http:///api/v0/compose
And then monitor it by passing the returned build UUID to ``/compose/status/<uuid>``. And then monitor it by passing the returned build UUID to ``/compose/status/<uuid>``.
@ -91,7 +91,7 @@ in ``./docs/rhel7-minimal.ks``. You should remove the ``url`` and ``repo``
commands, they will be added by the compose process. Make sure the bootloader commands, they will be added by the compose process. Make sure the bootloader
packages are included in the ``%packages`` section at the end of the kickstart, packages are included in the ``%packages`` section at the end of the kickstart,
and you will want to leave off the ``%end`` so that the compose can append the and you will want to leave off the ``%end`` so that the compose can append the
list of packages from the recipe. list of packages from the blueprint.
The new ``_MAP`` entry should be a copy of one of the existing entries, but with ``make_disk`` set The new ``_MAP`` entry should be a copy of one of the existing entries, but with ``make_disk`` set
to ``True``. Make sure that none of the other ``make_*`` options are ``True``. The ``image_name`` is to ``True``. Make sure that none of the other ``make_*`` options are ``True``. The ``image_name`` is

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>cli Package &mdash; Lorax 19.7.11 documentation</title> <title>cli Package &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="up" title="composer Package" href="composer.html" /> <link rel="up" title="composer Package" href="composer.html" />
<link rel="next" title="pylorax Package" href="pylorax.html" /> <link rel="next" title="pylorax Package" href="pylorax.html" />
<link rel="prev" title="composer Package" href="composer.html" /> <link rel="prev" title="composer Package" href="composer.html" />
@ -46,7 +46,7 @@
<li class="right" > <li class="right" >
<a href="composer.html" title="composer Package" <a href="composer.html" title="composer Package"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" >src</a> &raquo;</li> <li><a href="modules.html" >src</a> &raquo;</li>
<li><a href="composer.html" accesskey="U">composer Package</a> &raquo;</li> <li><a href="composer.html" accesskey="U">composer Package</a> &raquo;</li>
</ul> </ul>
@ -75,6 +75,363 @@
</table> </table>
</dd></dl> </dd></dl>
</div>
<div class="section" id="module-composer.cli.blueprints">
<span id="blueprints-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">blueprints</span></tt> Module<a class="headerlink" href="#module-composer.cli.blueprints" title="Permalink to this headline"></a></h2>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_changes">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_changes</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_changes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_changes" title="Permalink to this definition"></a></dt>
<dd><p>Display the changes for each of the blueprints</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints changes &lt;blueprint,...&gt; Display the changes for each blueprint.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_cmd">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_cmd</tt><big>(</big><em>opts</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_cmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_cmd" title="Permalink to this definition"></a></dt>
<dd><p>Process blueprints commands</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>opts</strong> (<a class="reference external" href="https://docs.python.org/2/library/argparse.html#argparse.Namespace" title="(in Python v2.7)"><em>argparse.Namespace</em></a>) &#8211; Cmdline arguments</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Value to return from sys.exit()</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">int</td>
</tr>
</tbody>
</table>
<p>This dispatches the blueprints commands to a function</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_delete">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_delete</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_delete" title="Permalink to this definition"></a></dt>
<dd><p>Delete a blueprint from the server</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>delete &lt;blueprint&gt; Delete a blueprint from the server</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_depsolve">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_depsolve</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_depsolve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_depsolve" title="Permalink to this definition"></a></dt>
<dd><p>Display the packages needed to install the blueprint</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints depsolve &lt;blueprint,...&gt; Display the packages needed to install the blueprint.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_diff">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_diff</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_diff"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_diff" title="Permalink to this definition"></a></dt>
<dd><p>Display the differences between 2 versions of a blueprint</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<dl class="docutils">
<dt>blueprints diff &lt;blueprint-name&gt; Display the differences between 2 versions of a blueprint.</dt>
<dd>&lt;from-commit&gt; Commit hash or NEWEST
&lt;to-commit&gt; Commit hash, NEWEST, or WORKSPACE</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_freeze">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_freeze</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_freeze"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_freeze" title="Permalink to this definition"></a></dt>
<dd><p>Handle the blueprints freeze commands</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints freeze &lt;blueprint,...&gt; Display the frozen blueprint&#8217;s modules and packages.
blueprints freeze show &lt;blueprint,...&gt; Display the frozen blueprint in TOML format.
blueprints freeze save &lt;blueprint,...&gt; Save the frozen blueprint to a file, &lt;blueprint-name&gt;.frozen.toml.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_freeze_save">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_freeze_save</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_freeze_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_freeze_save" title="Permalink to this definition"></a></dt>
<dd><p>Save the frozen blueprint to a TOML file</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints freeze save &lt;blueprint,...&gt; Save the frozen blueprint to a file, &lt;blueprint-name&gt;.frozen.toml.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_freeze_show">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_freeze_show</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_freeze_show"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_freeze_show" title="Permalink to this definition"></a></dt>
<dd><p>Show the frozen blueprint in TOML format</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints freeze show &lt;blueprint,...&gt; Display the frozen blueprint in TOML format.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_list">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_list</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_list" title="Permalink to this definition"></a></dt>
<dd><p>Output the list of available blueprints</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints list</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_push">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_push</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_push"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_push" title="Permalink to this definition"></a></dt>
<dd><p>Push a blueprint TOML file to the server, updating the blueprint</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>push &lt;blueprint&gt; Push a blueprint TOML file to the server.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_save">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_save</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_save" title="Permalink to this definition"></a></dt>
<dd><p>Save the blueprint to a TOML file</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints save &lt;blueprint,...&gt; Save the blueprint to a file, &lt;blueprint-name&gt;.toml</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_show">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_show</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_show"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_show" title="Permalink to this definition"></a></dt>
<dd><p>Show the blueprints, in TOML format</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints show &lt;blueprint,...&gt; Display the blueprint in TOML format.</p>
<p>Multiple blueprints will be separated by</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_tag">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_tag</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_tag"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_tag" title="Permalink to this definition"></a></dt>
<dd><p>Tag the most recent blueprint commit as a release</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints tag &lt;blueprint&gt; Tag the most recent blueprint commit as a release.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_undo">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_undo</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_undo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_undo" title="Permalink to this definition"></a></dt>
<dd><p>Undo changes to a blueprint</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints undo &lt;blueprint&gt; &lt;commit&gt; Undo changes to a blueprint by reverting to the selected commit.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.blueprints_workspace">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">blueprints_workspace</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#blueprints_workspace"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.blueprints_workspace" title="Permalink to this definition"></a></dt>
<dd><p>Push the blueprint TOML to the temporary workspace storage</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>blueprints workspace &lt;blueprint&gt; Push the blueprint TOML to the temporary workspace storage.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.prettyCommitDetails">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">prettyCommitDetails</tt><big>(</big><em>change</em>, <em>indent=4</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#prettyCommitDetails"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.prettyCommitDetails" title="Permalink to this definition"></a></dt>
<dd><p>Print the blueprint&#8217;s change in a nice way</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>change</strong> (<a class="reference external" href="https://docs.python.org/2/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) &#8211; The individual blueprint change dict</li>
<li><strong>indent</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; Number of spaces to indent</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="composer.cli.blueprints.prettyDiffEntry">
<tt class="descclassname">composer.cli.blueprints.</tt><tt class="descname">prettyDiffEntry</tt><big>(</big><em>diff</em><big>)</big><a class="reference internal" href="_modules/composer/cli/blueprints.html#prettyDiffEntry"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.blueprints.prettyDiffEntry" title="Permalink to this definition"></a></dt>
<dd><p>Generate nice diff entry string.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>diff</strong> (<a class="reference external" href="https://docs.python.org/2/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) &#8211; Difference entry dict</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Nice string</td>
</tr>
</tbody>
</table>
</dd></dl>
</div> </div>
<div class="section" id="module-composer.cli.compose"> <div class="section" id="module-composer.cli.compose">
<span id="compose-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">compose</span></tt> Module<a class="headerlink" href="#module-composer.cli.compose" title="Permalink to this headline"></a></h2> <span id="compose-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">compose</span></tt> Module<a class="headerlink" href="#module-composer.cli.compose" title="Permalink to this headline"></a></h2>
@ -91,6 +448,7 @@
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -132,6 +490,7 @@
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -155,13 +514,14 @@ or failed, not a running compose.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p>compose details &lt;uuid&gt;</p> <p>compose details &lt;uuid&gt;</p>
<p>This returns information about the compose, including the recipe and the dependencies.</p> <p>This returns information about the compose, including the blueprint and the dependencies.</p>
</dd></dl> </dd></dl>
<dl class="function"> <dl class="function">
@ -177,6 +537,7 @@ or failed, not a running compose.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -200,6 +561,7 @@ of compose that was selected.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -223,6 +585,7 @@ during the build.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -245,6 +608,7 @@ during the build.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -267,6 +631,7 @@ during the build.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -280,7 +645,7 @@ It is saved as uuid.tar</p>
<dl class="function"> <dl class="function">
<dt id="composer.cli.compose.compose_start"> <dt id="composer.cli.compose.compose_start">
<tt class="descclassname">composer.cli.compose.</tt><tt class="descname">compose_start</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em>, <em>testmode=0</em><big>)</big><a class="reference internal" href="_modules/composer/cli/compose.html#compose_start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.compose.compose_start" title="Permalink to this definition"></a></dt> <tt class="descclassname">composer.cli.compose.</tt><tt class="descname">compose_start</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em>, <em>testmode=0</em><big>)</big><a class="reference internal" href="_modules/composer/cli/compose.html#compose_start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.compose.compose_start" title="Permalink to this definition"></a></dt>
<dd><p>Start a new compose using the selected recipe and type</p> <dd><p>Start a new compose using the selected blueprint and type</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -290,12 +655,13 @@ It is saved as uuid.tar</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; Set to 1 to simulate a failed compose, set to 2 to simulate a finished one.</li>
</ul> </ul>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p>compose start &lt;recipe-name&gt; &lt;compose-type&gt;</p> <p>compose start &lt;blueprint-name&gt; &lt;compose-type&gt;</p>
</dd></dl> </dd></dl>
<dl class="function"> <dl class="function">
@ -311,6 +677,7 @@ It is saved as uuid.tar</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -322,7 +689,7 @@ and failed so raw JSON output is not available.</p>
<dl class="function"> <dl class="function">
<dt id="composer.cli.compose.compose_types"> <dt id="composer.cli.compose.compose_types">
<tt class="descclassname">composer.cli.compose.</tt><tt class="descname">compose_types</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/compose.html#compose_types"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.compose.compose_types" title="Permalink to this definition"></a></dt> <tt class="descclassname">composer.cli.compose.</tt><tt class="descname">compose_types</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em>, <em>testmode=0</em><big>)</big><a class="reference internal" href="_modules/composer/cli/compose.html#compose_types"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.compose.compose_types" title="Permalink to this definition"></a></dt>
<dd><p>Return information about the supported compose types</p> <dd><p>Return information about the supported compose types</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
@ -333,6 +700,7 @@ and failed so raw JSON output is not available.</p>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li> <li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li> <li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li> <li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
<li><strong>testmode</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; unused in this function</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -426,363 +794,6 @@ include this extra information.</p>
<p>projects list</p> <p>projects list</p>
</dd></dl> </dd></dl>
</div>
<div class="section" id="module-composer.cli.recipes">
<span id="recipes-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">recipes</span></tt> Module<a class="headerlink" href="#module-composer.cli.recipes" title="Permalink to this headline"></a></h2>
<dl class="function">
<dt id="composer.cli.recipes.prettyCommitDetails">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">prettyCommitDetails</tt><big>(</big><em>change</em>, <em>indent=4</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#prettyCommitDetails"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.prettyCommitDetails" title="Permalink to this definition"></a></dt>
<dd><p>Print the recipe&#8217;s change in a nice way</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>change</strong> (<a class="reference external" href="https://docs.python.org/2/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) &#8211; The individual recipe change dict</li>
<li><strong>indent</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; Number of spaces to indent</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.prettyDiffEntry">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">prettyDiffEntry</tt><big>(</big><em>diff</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#prettyDiffEntry"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.prettyDiffEntry" title="Permalink to this definition"></a></dt>
<dd><p>Generate nice diff entry string.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>diff</strong> (<a class="reference external" href="https://docs.python.org/2/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) &#8211; Difference entry dict</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Nice string</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_changes">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_changes</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_changes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_changes" title="Permalink to this definition"></a></dt>
<dd><p>Display the changes for each of the recipes</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes changes &lt;recipe,...&gt; Display the changes for each recipe.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_cmd">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_cmd</tt><big>(</big><em>opts</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_cmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_cmd" title="Permalink to this definition"></a></dt>
<dd><p>Process recipes commands</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>opts</strong> (<a class="reference external" href="https://docs.python.org/2/library/argparse.html#argparse.Namespace" title="(in Python v2.7)"><em>argparse.Namespace</em></a>) &#8211; Cmdline arguments</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Value to return from sys.exit()</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">int</td>
</tr>
</tbody>
</table>
<p>This dispatches the recipes commands to a function</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_delete">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_delete</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_delete" title="Permalink to this definition"></a></dt>
<dd><p>Delete a recipe from the server</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>delete &lt;recipe&gt; Delete a recipe from the server</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_depsolve">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_depsolve</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_depsolve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_depsolve" title="Permalink to this definition"></a></dt>
<dd><p>Display the packages needed to install the recipe</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes depsolve &lt;recipe,...&gt; Display the packages needed to install the recipe.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_diff">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_diff</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_diff"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_diff" title="Permalink to this definition"></a></dt>
<dd><p>Display the differences between 2 versions of a recipe</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<dl class="docutils">
<dt>recipes diff &lt;recipe-name&gt; Display the differences between 2 versions of a recipe.</dt>
<dd>&lt;from-commit&gt; Commit hash or NEWEST
&lt;to-commit&gt; Commit hash, NEWEST, or WORKSPACE</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_freeze">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_freeze</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_freeze"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_freeze" title="Permalink to this definition"></a></dt>
<dd><p>Handle the recipes freeze commands</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes freeze &lt;recipe,...&gt; Display the frozen recipe&#8217;s modules and packages.
recipes freeze show &lt;recipe,...&gt; Display the frozen recipe in TOML format.
recipes freeze save &lt;recipe,...&gt; Save the frozen recipe to a file, &lt;recipe-name&gt;.frozen.toml.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_freeze_save">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_freeze_save</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_freeze_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_freeze_save" title="Permalink to this definition"></a></dt>
<dd><p>Save the frozen recipe to a TOML file</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes freeze save &lt;recipe,...&gt; Save the frozen recipe to a file, &lt;recipe-name&gt;.frozen.toml.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_freeze_show">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_freeze_show</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_freeze_show"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_freeze_show" title="Permalink to this definition"></a></dt>
<dd><p>Show the frozen recipe in TOML format</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes freeze show &lt;recipe,...&gt; Display the frozen recipe in TOML format.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_list">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_list</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_list" title="Permalink to this definition"></a></dt>
<dd><p>Output the list of available recipes</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes list</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_push">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_push</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_push"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_push" title="Permalink to this definition"></a></dt>
<dd><p>Push a recipe TOML file to the server, updating the recipe</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>push &lt;recipe&gt; Push a recipe TOML file to the server.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_save">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_save</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_save" title="Permalink to this definition"></a></dt>
<dd><p>Save the recipe to a TOML file</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes save &lt;recipe,...&gt; Save the recipe to a file, &lt;recipe-name&gt;.toml</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_show">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_show</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_show"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_show" title="Permalink to this definition"></a></dt>
<dd><p>Show the recipes, in TOML format</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes show &lt;recipe,...&gt; Display the recipe in TOML format.</p>
<p>Multiple recipes will be separated by</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_tag">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_tag</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_tag"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_tag" title="Permalink to this definition"></a></dt>
<dd><p>Tag the most recent recipe commit as a release</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes tag &lt;recipe&gt; Tag the most recent recipe commit as a release.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_undo">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_undo</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_undo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_undo" title="Permalink to this definition"></a></dt>
<dd><p>Undo changes to a recipe</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes undo &lt;recipe&gt; &lt;commit&gt; Undo changes to a recipe by reverting to the selected commit.</p>
</dd></dl>
<dl class="function">
<dt id="composer.cli.recipes.recipes_workspace">
<tt class="descclassname">composer.cli.recipes.</tt><tt class="descname">recipes_workspace</tt><big>(</big><em>socket_path</em>, <em>api_version</em>, <em>args</em>, <em>show_json=False</em><big>)</big><a class="reference internal" href="_modules/composer/cli/recipes.html#recipes_workspace"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.recipes.recipes_workspace" title="Permalink to this definition"></a></dt>
<dd><p>Push the recipe TOML to the temporary workspace storage</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>socket_path</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Path to the Unix socket to use for API communication</li>
<li><strong>api_version</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Version of the API to talk to. eg. &#8220;0&#8221;</li>
<li><strong>args</strong> (<em>list of str</em>) &#8211; List of remaining arguments from the cmdline</li>
<li><strong>show_json</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) &#8211; Set to True to show the JSON output instead of the human readable output</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>recipes workspace &lt;recipe&gt; Push the recipe TOML to the temporary workspace storage.</p>
</dd></dl>
</div> </div>
<div class="section" id="module-composer.cli.utilities"> <div class="section" id="module-composer.cli.utilities">
<span id="utilities-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">utilities</span></tt> Module<a class="headerlink" href="#module-composer.cli.utilities" title="Permalink to this headline"></a></h2> <span id="utilities-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">utilities</span></tt> Module<a class="headerlink" href="#module-composer.cli.utilities" title="Permalink to this headline"></a></h2>
@ -808,15 +819,15 @@ recipes freeze save &lt;recipe,...&gt; Save the frozen recipe to a file, &lt;rec
<dl class="function"> <dl class="function">
<dt id="composer.cli.utilities.frozen_toml_filename"> <dt id="composer.cli.utilities.frozen_toml_filename">
<tt class="descclassname">composer.cli.utilities.</tt><tt class="descname">frozen_toml_filename</tt><big>(</big><em>recipe_name</em><big>)</big><a class="reference internal" href="_modules/composer/cli/utilities.html#frozen_toml_filename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.utilities.frozen_toml_filename" title="Permalink to this definition"></a></dt> <tt class="descclassname">composer.cli.utilities.</tt><tt class="descname">frozen_toml_filename</tt><big>(</big><em>blueprint_name</em><big>)</big><a class="reference internal" href="_modules/composer/cli/utilities.html#frozen_toml_filename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.utilities.frozen_toml_filename" title="Permalink to this definition"></a></dt>
<dd><p>Convert a recipe name into a filename.toml</p> <dd><p>Convert a blueprint name into a filename.toml</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>recipe_name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; The recipe&#8217;s name</td> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>blueprint_name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; The blueprint&#8217;s name</td>
</tr> </tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The recipe name with &#8216; &#8216; converted to - and .toml appended</td> <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The blueprint name with &#8216; &#8216; converted to - and .toml appended</td>
</tr> </tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">str</td> <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">str</td>
</tr> </tr>
@ -858,15 +869,15 @@ recipes freeze save &lt;recipe,...&gt; Save the frozen recipe to a file, &lt;rec
<dl class="function"> <dl class="function">
<dt id="composer.cli.utilities.toml_filename"> <dt id="composer.cli.utilities.toml_filename">
<tt class="descclassname">composer.cli.utilities.</tt><tt class="descname">toml_filename</tt><big>(</big><em>recipe_name</em><big>)</big><a class="reference internal" href="_modules/composer/cli/utilities.html#toml_filename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.utilities.toml_filename" title="Permalink to this definition"></a></dt> <tt class="descclassname">composer.cli.utilities.</tt><tt class="descname">toml_filename</tt><big>(</big><em>blueprint_name</em><big>)</big><a class="reference internal" href="_modules/composer/cli/utilities.html#toml_filename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.cli.utilities.toml_filename" title="Permalink to this definition"></a></dt>
<dd><p>Convert a recipe name into a filename.toml</p> <dd><p>Convert a blueprint name into a filename.toml</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>recipe_name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; The recipe&#8217;s name</td> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>blueprint_name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; The blueprint&#8217;s name</td>
</tr> </tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The recipe name with &#8216; &#8216; converted to - and .toml appended</td> <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The blueprint name with &#8216; &#8216; converted to - and .toml appended</td>
</tr> </tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">str</td> <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">str</td>
</tr> </tr>
@ -887,10 +898,10 @@ recipes freeze save &lt;recipe,...&gt; Save the frozen recipe to a file, &lt;rec
<ul> <ul>
<li><a class="reference internal" href="#">cli Package</a><ul> <li><a class="reference internal" href="#">cli Package</a><ul>
<li><a class="reference internal" href="#id1"><tt class="docutils literal"><span class="pre">cli</span></tt> Package</a></li> <li><a class="reference internal" href="#id1"><tt class="docutils literal"><span class="pre">cli</span></tt> Package</a></li>
<li><a class="reference internal" href="#module-composer.cli.blueprints"><tt class="docutils literal"><span class="pre">blueprints</span></tt> Module</a></li>
<li><a class="reference internal" href="#module-composer.cli.compose"><tt class="docutils literal"><span class="pre">compose</span></tt> Module</a></li> <li><a class="reference internal" href="#module-composer.cli.compose"><tt class="docutils literal"><span class="pre">compose</span></tt> Module</a></li>
<li><a class="reference internal" href="#module-composer.cli.modules"><tt class="docutils literal"><span class="pre">modules</span></tt> Module</a></li> <li><a class="reference internal" href="#module-composer.cli.modules"><tt class="docutils literal"><span class="pre">modules</span></tt> Module</a></li>
<li><a class="reference internal" href="#module-composer.cli.projects"><tt class="docutils literal"><span class="pre">projects</span></tt> Module</a></li> <li><a class="reference internal" href="#module-composer.cli.projects"><tt class="docutils literal"><span class="pre">projects</span></tt> Module</a></li>
<li><a class="reference internal" href="#module-composer.cli.recipes"><tt class="docutils literal"><span class="pre">recipes</span></tt> Module</a></li>
<li><a class="reference internal" href="#module-composer.cli.utilities"><tt class="docutils literal"><span class="pre">utilities</span></tt> Module</a></li> <li><a class="reference internal" href="#module-composer.cli.utilities"><tt class="docutils literal"><span class="pre">utilities</span></tt> Module</a></li>
</ul> </ul>
</li> </li>
@ -939,7 +950,7 @@ recipes freeze save &lt;recipe,...&gt; Save the frozen recipe to a file, &lt;rec
<li class="right" > <li class="right" >
<a href="composer.html" title="composer Package" <a href="composer.html" title="composer Package"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" >src</a> &raquo;</li> <li><a href="modules.html" >src</a> &raquo;</li>
<li><a href="composer.html" >composer Package</a> &raquo;</li> <li><a href="composer.html" >composer Package</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>composer Package &mdash; Lorax 19.7.11 documentation</title> <title>composer Package &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="up" title="src" href="modules.html" /> <link rel="up" title="src" href="modules.html" />
<link rel="next" title="cli Package" href="composer.cli.html" /> <link rel="next" title="cli Package" href="composer.cli.html" />
<link rel="prev" title="src" href="modules.html" /> <link rel="prev" title="src" href="modules.html" />
@ -46,7 +46,7 @@
<li class="right" > <li class="right" >
<a href="modules.html" title="src" <a href="modules.html" title="src"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" accesskey="U">src</a> &raquo;</li> <li><a href="modules.html" accesskey="U">src</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -250,7 +250,7 @@
<dl class="function"> <dl class="function">
<dt id="composer.http_client.post_url_toml"> <dt id="composer.http_client.post_url_toml">
<tt class="descclassname">composer.http_client.</tt><tt class="descname">post_url_toml</tt><big>(</big><em>socket_path</em>, <em>url</em>, <em>body</em><big>)</big><a class="reference internal" href="_modules/composer/http_client.html#post_url_toml"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.http_client.post_url_toml" title="Permalink to this definition"></a></dt> <tt class="descclassname">composer.http_client.</tt><tt class="descname">post_url_toml</tt><big>(</big><em>socket_path</em>, <em>url</em>, <em>body</em><big>)</big><a class="reference internal" href="_modules/composer/http_client.html#post_url_toml"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#composer.http_client.post_url_toml" title="Permalink to this definition"></a></dt>
<dd><p>POST a TOML recipe to the URL</p> <dd><p>POST a TOML string to the URL</p>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -299,10 +299,10 @@
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="composer.cli.html">cli Package</a><ul> <li class="toctree-l1"><a class="reference internal" href="composer.cli.html">cli Package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#id1"><tt class="docutils literal"><span class="pre">cli</span></tt> Package</a></li> <li class="toctree-l2"><a class="reference internal" href="composer.cli.html#id1"><tt class="docutils literal"><span class="pre">cli</span></tt> Package</a></li>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.blueprints"><tt class="docutils literal"><span class="pre">blueprints</span></tt> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.compose"><tt class="docutils literal"><span class="pre">compose</span></tt> Module</a></li> <li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.compose"><tt class="docutils literal"><span class="pre">compose</span></tt> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.modules"><tt class="docutils literal"><span class="pre">modules</span></tt> Module</a></li> <li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.modules"><tt class="docutils literal"><span class="pre">modules</span></tt> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.projects"><tt class="docutils literal"><span class="pre">projects</span></tt> Module</a></li> <li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.projects"><tt class="docutils literal"><span class="pre">projects</span></tt> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.recipes"><tt class="docutils literal"><span class="pre">recipes</span></tt> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.utilities"><tt class="docutils literal"><span class="pre">utilities</span></tt> Module</a></li> <li class="toctree-l2"><a class="reference internal" href="composer.cli.html#module-composer.cli.utilities"><tt class="docutils literal"><span class="pre">utilities</span></tt> Module</a></li>
</ul> </ul>
</li> </li>
@ -373,7 +373,7 @@
<li class="right" > <li class="right" >
<a href="modules.html" title="src" <a href="modules.html" title="src"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" >src</a> &raquo;</li> <li><a href="modules.html" >src</a> &raquo;</li>
</ul> </ul>
</div> </div>

View File

@ -10,7 +10,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index &mdash; Lorax 19.7.11 documentation</title> <title>Index &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -18,7 +18,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -27,7 +27,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
</head> </head>
<body> <body>
<div class="related"> <div class="related">
@ -39,7 +39,7 @@
<li class="right" > <li class="right" >
<a href="py-modindex.html" title="Python Module Index" <a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -126,6 +126,68 @@
</dt> </dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_changes">blueprints_changes() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_cmd">blueprints_cmd() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_delete">blueprints_delete() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_depsolve">blueprints_depsolve() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_diff">blueprints_diff() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_freeze">blueprints_freeze() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_freeze_save">blueprints_freeze_save() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_freeze_show">blueprints_freeze_show() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_list">blueprints_list() (in module composer.cli.blueprints)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_push">blueprints_push() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_save">blueprints_save() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_show">blueprints_show() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_tag">blueprints_tag() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_undo">blueprints_undo() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.blueprints.blueprints_workspace">blueprints_workspace() (in module composer.cli.blueprints)</a>
</dt>
<dt><a href="pylorax.html#pylorax.ltmpl.brace_expand">brace_expand() (in module pylorax.ltmpl)</a> <dt><a href="pylorax.html#pylorax.ltmpl.brace_expand">brace_expand() (in module pylorax.ltmpl)</a>
</dt> </dt>
@ -133,8 +195,6 @@
<dt><a href="pylorax.html#pylorax.treebuilder.TreeBuilder.build">build() (pylorax.treebuilder.TreeBuilder method)</a> <dt><a href="pylorax.html#pylorax.treebuilder.TreeBuilder.build">build() (pylorax.treebuilder.TreeBuilder method)</a>
</dt> </dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="pylorax.api.html#pylorax.api.queue.build_status">build_status() (in module pylorax.api.queue)</a> <dt><a href="pylorax.api.html#pylorax.api.queue.build_status">build_status() (in module pylorax.api.queue)</a>
</dt> </dt>
@ -262,6 +322,10 @@
</dt> </dt>
<dt><a href="composer.cli.html#module-composer.cli.blueprints">composer.cli.blueprints (module)</a>
</dt>
<dt><a href="composer.cli.html#module-composer.cli.compose">composer.cli.compose (module)</a> <dt><a href="composer.cli.html#module-composer.cli.compose">composer.cli.compose (module)</a>
</dt> </dt>
@ -274,10 +338,6 @@
</dt> </dt>
<dt><a href="composer.cli.html#module-composer.cli.recipes">composer.cli.recipes (module)</a>
</dt>
<dt><a href="composer.cli.html#module-composer.cli.utilities">composer.cli.utilities (module)</a> <dt><a href="composer.cli.html#module-composer.cli.utilities">composer.cli.utilities (module)</a>
</dt> </dt>
@ -438,9 +498,15 @@
</dt> </dt>
<dt><a href="pylorax.html#pylorax.imgutils.estimate_size">estimate_size() (in module pylorax.imgutils)</a> <dt><a href="pylorax.api.html#pylorax.api.projects.estimate_size">estimate_size() (in module pylorax.api.projects)</a>
</dt> </dt>
<dd><dl>
<dt><a href="pylorax.html#pylorax.imgutils.estimate_size">(in module pylorax.imgutils)</a>
</dt>
</dl></dd>
<dt><a href="pylorax.html#pylorax.yumhelper.LoraxRpmCallback.event">event() (pylorax.yumhelper.LoraxRpmCallback method)</a> <dt><a href="pylorax.html#pylorax.yumhelper.LoraxRpmCallback.event">event() (pylorax.yumhelper.LoraxRpmCallback method)</a>
</dt> </dt>
@ -564,12 +630,16 @@
</dt> </dt>
<dt><a href="pylorax.html#pylorax.installer.IsoMountpoint.get_iso_label">get_iso_label() (pylorax.installer.IsoMountpoint method)</a> <dt><a href="pylorax.api.html#pylorax.api.queue.get_image_name">get_image_name() (in module pylorax.api.queue)</a>
</dt> </dt>
</dl></td> </dl></td>
<td style="width: 33%" valign="top"><dl> <td style="width: 33%" valign="top"><dl>
<dt><a href="pylorax.html#pylorax.installer.IsoMountpoint.get_iso_label">get_iso_label() (pylorax.installer.IsoMountpoint method)</a>
</dt>
<dt><a href="pylorax.html#pylorax.creator.KernelInfo.get_kernel_arch">get_kernel_arch() (pylorax.creator.KernelInfo method)</a> <dt><a href="pylorax.html#pylorax.creator.KernelInfo.get_kernel_arch">get_kernel_arch() (pylorax.creator.KernelInfo method)</a>
</dt> </dt>
@ -1040,11 +1110,11 @@
</dt> </dt>
<dt><a href="composer.cli.html#composer.cli.recipes.prettyCommitDetails">prettyCommitDetails() (in module composer.cli.recipes)</a> <dt><a href="composer.cli.html#composer.cli.blueprints.prettyCommitDetails">prettyCommitDetails() (in module composer.cli.blueprints)</a>
</dt> </dt>
<dt><a href="composer.cli.html#composer.cli.recipes.prettyDiffEntry">prettyDiffEntry() (in module composer.cli.recipes)</a> <dt><a href="composer.cli.html#composer.cli.blueprints.prettyDiffEntry">prettyDiffEntry() (in module composer.cli.blueprints)</a>
</dt> </dt>
@ -1056,6 +1126,10 @@
</dt> </dt>
<dt><a href="pylorax.api.html#pylorax.api.projects.projects_depsolve_with_size">projects_depsolve_with_size() (in module pylorax.api.projects)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.projects.projects_info">projects_info() (in module composer.cli.projects)</a> <dt><a href="composer.cli.html#composer.cli.projects.projects_info">projects_info() (in module composer.cli.projects)</a>
</dt> </dt>
@ -1274,68 +1348,6 @@
</dt> </dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_changes">recipes_changes() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_cmd">recipes_cmd() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_delete">recipes_delete() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_depsolve">recipes_depsolve() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_diff">recipes_diff() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_freeze">recipes_freeze() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_freeze_save">recipes_freeze_save() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_freeze_show">recipes_freeze_show() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_list">recipes_list() (in module composer.cli.recipes)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_push">recipes_push() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_save">recipes_save() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_show">recipes_show() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_tag">recipes_tag() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_undo">recipes_undo() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="composer.cli.html#composer.cli.recipes.recipes_workspace">recipes_workspace() (in module composer.cli.recipes)</a>
</dt>
<dt><a href="pylorax.html#pylorax.sysutils.remove">remove() (in module pylorax.sysutils)</a> <dt><a href="pylorax.html#pylorax.sysutils.remove">remove() (in module pylorax.sysutils)</a>
</dt> </dt>
@ -1345,6 +1357,8 @@
</dt> </dt>
</dl></dd> </dl></dd>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removefrom">removefrom() (pylorax.ltmpl.LoraxTemplateRunner method)</a> <dt><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removefrom">removefrom() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
</dt> </dt>
@ -1726,7 +1740,7 @@
<li class="right" > <li class="right" >
<a href="py-modindex.html" title="Python Module Index" <a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to Loraxs documentation! &mdash; Lorax 19.7.11 documentation</title> <title>Welcome to Loraxs documentation! &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="#" /> <link rel="top" title="Lorax 19.7.14 documentation" href="#" />
<link rel="next" title="Introduction to Lorax" href="intro.html" /> <link rel="next" title="Introduction to Lorax" href="intro.html" />
</head> </head>
<body> <body>
@ -41,7 +41,7 @@
<li class="right" > <li class="right" >
<a href="intro.html" title="Introduction to Lorax" <a href="intro.html" title="Introduction to Lorax"
accesskey="N">next</a> |</li> accesskey="N">next</a> |</li>
<li><a href="#">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="#">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -125,7 +125,7 @@
<li class="right" > <li class="right" >
<a href="intro.html" title="Introduction to Lorax" <a href="intro.html" title="Introduction to Lorax"
>next</a> |</li> >next</a> |</li>
<li><a href="#">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="#">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Introduction to Lorax &mdash; Lorax 19.7.11 documentation</title> <title>Introduction to Lorax &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="next" title="Lorax" href="lorax.html" /> <link rel="next" title="Lorax" href="lorax.html" />
<link rel="prev" title="Welcome to Loraxs documentation!" href="index.html" /> <link rel="prev" title="Welcome to Loraxs documentation!" href="index.html" />
</head> </head>
@ -45,7 +45,7 @@
<li class="right" > <li class="right" >
<a href="index.html" title="Welcome to Loraxs documentation!" <a href="index.html" title="Welcome to Loraxs documentation!"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -161,7 +161,7 @@ upd-instroot and mk-images* scripts.</p>
<li class="right" > <li class="right" >
<a href="index.html" title="Welcome to Loraxs documentation!" <a href="index.html" title="Welcome to Loraxs documentation!"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>livemedia-creator &mdash; Lorax 19.7.11 documentation</title> <title>livemedia-creator &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="next" title="lorax-composer" href="lorax-composer.html" /> <link rel="next" title="lorax-composer" href="lorax-composer.html" />
<link rel="prev" title="Lorax" href="lorax.html" /> <link rel="prev" title="Lorax" href="lorax.html" />
</head> </head>
@ -45,7 +45,7 @@
<li class="right" > <li class="right" >
<a href="lorax.html" title="Lorax" <a href="lorax.html" title="Lorax"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -446,7 +446,7 @@ report bugs against the lorax component.</p>
<li class="right" > <li class="right" >
<a href="lorax.html" title="Lorax" <a href="lorax.html" title="Lorax"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>lorax-composer &mdash; Lorax 19.7.11 documentation</title> <title>lorax-composer &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="next" title="Product and Updates Images" href="product-images.html" /> <link rel="next" title="Product and Updates Images" href="product-images.html" />
<link rel="prev" title="livemedia-creator" href="livemedia-creator.html" /> <link rel="prev" title="livemedia-creator" href="livemedia-creator.html" />
</head> </head>
@ -45,7 +45,7 @@
<li class="right" > <li class="right" >
<a href="livemedia-creator.html" title="livemedia-creator" <a href="livemedia-creator.html" title="livemedia-creator"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -90,18 +90,18 @@ messages as well as extra debugging info and API requests.</p>
<li>Remove any pre-existing socket directory with <tt class="docutils literal"><span class="pre">rm</span> <span class="pre">-rf</span> <span class="pre">/run/weldr/</span></tt> <li>Remove any pre-existing socket directory with <tt class="docutils literal"><span class="pre">rm</span> <span class="pre">-rf</span> <span class="pre">/run/weldr/</span></tt>
A new directory with correct permissions will be created the first time the server runs.</li> A new directory with correct permissions will be created the first time the server runs.</li>
<li>Either start it via systemd with <tt class="docutils literal"><span class="pre">systemctl</span> <span class="pre">start</span> <span class="pre">lorax-composer</span></tt> or <li>Either start it via systemd with <tt class="docutils literal"><span class="pre">systemctl</span> <span class="pre">start</span> <span class="pre">lorax-composer</span></tt> or
run it directly with <tt class="docutils literal"><span class="pre">lorax-composer</span> <span class="pre">/path/to/recipes/</span></tt></li> run it directly with <tt class="docutils literal"><span class="pre">lorax-composer</span> <span class="pre">/path/to/blueprints/</span></tt></li>
</ol> </ol>
<p>The <tt class="docutils literal"><span class="pre">/path/to/recipes/</span></tt> is where the recipe&#8217;s git repo will be created, and <p>The <tt class="docutils literal"><span class="pre">/path/to/blueprints/</span></tt> is where the blueprint&#8217;s git repo will be created, and
all the recipes created with the <tt class="docutils literal"><span class="pre">/api/v0/recipes/new</span></tt> route will be stored. all the blueprints created with the <tt class="docutils literal"><span class="pre">/api/v0/blueprints/new</span></tt> route will be stored.
If there are recipe <tt class="docutils literal"><span class="pre">.toml</span></tt> files in the top level of the directory they will If there are blueprint <tt class="docutils literal"><span class="pre">.toml</span></tt> files in the top level of the directory they will
be imported into the recipe git storage.</p> be imported into the blueprint git storage.</p>
</div> </div>
<div class="section" id="composing-images"> <div class="section" id="composing-images">
<h2>Composing Images<a class="headerlink" href="#composing-images" title="Permalink to this headline"></a></h2> <h2>Composing Images<a class="headerlink" href="#composing-images" title="Permalink to this headline"></a></h2>
<p>As of version 19.7.7 lorax-composer can create <tt class="docutils literal"><span class="pre">tar</span></tt> output images. You can use curl to start <p>As of version 19.7.7 lorax-composer can create <tt class="docutils literal"><span class="pre">tar</span></tt> output images. You can use curl to start
a compose like this:</p> a compose like this:</p>
<div class="highlight-python"><pre>curl --unix-socket /run/weldr/api.socket -X POST -H "Content-Type: application/json" -d '{"recipe_name": "http-server", "compose_type": "tar", "branch": "master"}' http:///api/v0/compose</pre> <div class="highlight-python"><pre>curl --unix-socket /run/weldr/api.socket -X POST -H "Content-Type: application/json" -d '{"blueprint_name": "http-server", "compose_type": "tar", "branch": "master"}' http:///api/v0/compose</pre>
</div> </div>
<p>And then monitor it by passing the returned build UUID to <tt class="docutils literal"><span class="pre">/compose/status/&lt;uuid&gt;</span></tt>.</p> <p>And then monitor it by passing the returned build UUID to <tt class="docutils literal"><span class="pre">/compose/status/&lt;uuid&gt;</span></tt>.</p>
<p>Version 19.7.10 adds support for <tt class="docutils literal"><span class="pre">live-iso</span></tt> and <tt class="docutils literal"><span class="pre">partitioned-disk</span></tt></p> <p>Version 19.7.10 adds support for <tt class="docutils literal"><span class="pre">live-iso</span></tt> and <tt class="docutils literal"><span class="pre">partitioned-disk</span></tt></p>
@ -139,7 +139,7 @@ in <tt class="docutils literal"><span class="pre">./docs/rhel7-minimal.ks</span>
commands, they will be added by the compose process. Make sure the bootloader commands, they will be added by the compose process. Make sure the bootloader
packages are included in the <tt class="docutils literal"><span class="pre">%packages</span></tt> section at the end of the kickstart, packages are included in the <tt class="docutils literal"><span class="pre">%packages</span></tt> section at the end of the kickstart,
and you will want to leave off the <tt class="docutils literal"><span class="pre">%end</span></tt> so that the compose can append the and you will want to leave off the <tt class="docutils literal"><span class="pre">%end</span></tt> so that the compose can append the
list of packages from the recipe.</p> list of packages from the blueprint.</p>
<p>The new <tt class="docutils literal"><span class="pre">_MAP</span></tt> entry should be a copy of one of the existing entries, but with <tt class="docutils literal"><span class="pre">make_disk</span></tt> set <p>The new <tt class="docutils literal"><span class="pre">_MAP</span></tt> entry should be a copy of one of the existing entries, but with <tt class="docutils literal"><span class="pre">make_disk</span></tt> set
to <tt class="docutils literal"><span class="pre">True</span></tt>. Make sure that none of the other <tt class="docutils literal"><span class="pre">make_*</span></tt> options are <tt class="docutils literal"><span class="pre">True</span></tt>. The <tt class="docutils literal"><span class="pre">image_name</span></tt> is to <tt class="docutils literal"><span class="pre">True</span></tt>. Make sure that none of the other <tt class="docutils literal"><span class="pre">make_*</span></tt> options are <tt class="docutils literal"><span class="pre">True</span></tt>. The <tt class="docutils literal"><span class="pre">image_name</span></tt> is
what the name of the final image will be.</p> what the name of the final image will be.</p>
@ -215,7 +215,7 @@ the contents of the iso as well as the boot.iso itself.</p>
<li class="right" > <li class="right" >
<a href="livemedia-creator.html" title="livemedia-creator" <a href="livemedia-creator.html" title="livemedia-creator"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lorax &mdash; Lorax 19.7.11 documentation</title> <title>Lorax &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="next" title="livemedia-creator" href="livemedia-creator.html" /> <link rel="next" title="livemedia-creator" href="livemedia-creator.html" />
<link rel="prev" title="Introduction to Lorax" href="intro.html" /> <link rel="prev" title="Introduction to Lorax" href="intro.html" />
</head> </head>
@ -45,7 +45,7 @@
<li class="right" > <li class="right" >
<a href="intro.html" title="Introduction to Lorax" <a href="intro.html" title="Introduction to Lorax"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -254,7 +254,7 @@ into another directory and then select the new template directory by passing
<li class="right" > <li class="right" >
<a href="intro.html" title="Introduction to Lorax" <a href="intro.html" title="Introduction to Lorax"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>src &mdash; Lorax 19.7.11 documentation</title> <title>src &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="next" title="composer Package" href="composer.html" /> <link rel="next" title="composer Package" href="composer.html" />
<link rel="prev" title="Product and Updates Images" href="product-images.html" /> <link rel="prev" title="Product and Updates Images" href="product-images.html" />
</head> </head>
@ -45,7 +45,7 @@
<li class="right" > <li class="right" >
<a href="product-images.html" title="Product and Updates Images" <a href="product-images.html" title="Product and Updates Images"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -65,10 +65,10 @@
<li class="toctree-l2"><a class="reference internal" href="composer.html#subpackages">Subpackages</a><ul> <li class="toctree-l2"><a class="reference internal" href="composer.html#subpackages">Subpackages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="composer.cli.html">cli Package</a><ul> <li class="toctree-l3"><a class="reference internal" href="composer.cli.html">cli Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#id1"><tt class="docutils literal"><span class="pre">cli</span></tt> Package</a></li> <li class="toctree-l4"><a class="reference internal" href="composer.cli.html#id1"><tt class="docutils literal"><span class="pre">cli</span></tt> Package</a></li>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.blueprints"><tt class="docutils literal"><span class="pre">blueprints</span></tt> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.compose"><tt class="docutils literal"><span class="pre">compose</span></tt> Module</a></li> <li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.compose"><tt class="docutils literal"><span class="pre">compose</span></tt> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.modules"><tt class="docutils literal"><span class="pre">modules</span></tt> Module</a></li> <li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.modules"><tt class="docutils literal"><span class="pre">modules</span></tt> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.projects"><tt class="docutils literal"><span class="pre">projects</span></tt> Module</a></li> <li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.projects"><tt class="docutils literal"><span class="pre">projects</span></tt> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.recipes"><tt class="docutils literal"><span class="pre">recipes</span></tt> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.utilities"><tt class="docutils literal"><span class="pre">utilities</span></tt> Module</a></li> <li class="toctree-l4"><a class="reference internal" href="composer.cli.html#module-composer.cli.utilities"><tt class="docutils literal"><span class="pre">utilities</span></tt> Module</a></li>
</ul> </ul>
</li> </li>
@ -165,7 +165,7 @@
<li class="right" > <li class="right" >
<a href="product-images.html" title="Product and Updates Images" <a href="product-images.html" title="Product and Updates Images"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

Binary file not shown.

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Product and Updates Images &mdash; Lorax 19.7.11 documentation</title> <title>Product and Updates Images &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="next" title="src" href="modules.html" /> <link rel="next" title="src" href="modules.html" />
<link rel="prev" title="lorax-composer" href="lorax-composer.html" /> <link rel="prev" title="lorax-composer" href="lorax-composer.html" />
</head> </head>
@ -45,7 +45,7 @@
<li class="right" > <li class="right" >
<a href="lorax-composer.html" title="lorax-composer" <a href="lorax-composer.html" title="lorax-composer"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -127,7 +127,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
<li class="right" > <li class="right" >
<a href="lorax-composer.html" title="lorax-composer" <a href="lorax-composer.html" title="lorax-composer"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Python Module Index &mdash; Lorax 19.7.11 documentation</title> <title>Python Module Index &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
@ -40,7 +40,7 @@
<li class="right" > <li class="right" >
<a href="#" title="Python Module Index" <a href="#" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -72,6 +72,11 @@
<td>&nbsp;&nbsp;&nbsp; <td>&nbsp;&nbsp;&nbsp;
<a href="composer.cli.html#module-composer.cli"><tt class="xref">composer.cli</tt></a></td><td> <a href="composer.cli.html#module-composer.cli"><tt class="xref">composer.cli</tt></a></td><td>
<em></em></td></tr> <em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="composer.cli.html#module-composer.cli.blueprints"><tt class="xref">composer.cli.blueprints</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1"> <tr class="cg-1">
<td></td> <td></td>
<td>&nbsp;&nbsp;&nbsp; <td>&nbsp;&nbsp;&nbsp;
@ -87,11 +92,6 @@
<td>&nbsp;&nbsp;&nbsp; <td>&nbsp;&nbsp;&nbsp;
<a href="composer.cli.html#module-composer.cli.projects"><tt class="xref">composer.cli.projects</tt></a></td><td> <a href="composer.cli.html#module-composer.cli.projects"><tt class="xref">composer.cli.projects</tt></a></td><td>
<em></em></td></tr> <em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="composer.cli.html#module-composer.cli.recipes"><tt class="xref">composer.cli.recipes</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1"> <tr class="cg-1">
<td></td> <td></td>
<td>&nbsp;&nbsp;&nbsp; <td>&nbsp;&nbsp;&nbsp;
@ -280,7 +280,7 @@
<li class="right" > <li class="right" >
<a href="#" title="Python Module Index" <a href="#" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>api Package &mdash; Lorax 19.7.11 documentation</title> <title>api Package &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="up" title="pylorax Package" href="pylorax.html" /> <link rel="up" title="pylorax Package" href="pylorax.html" />
<link rel="prev" title="pylorax Package" href="pylorax.html" /> <link rel="prev" title="pylorax Package" href="pylorax.html" />
</head> </head>
@ -42,7 +42,7 @@
<li class="right" > <li class="right" >
<a href="pylorax.html" title="pylorax Package" <a href="pylorax.html" title="pylorax Package"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" >src</a> &raquo;</li> <li><a href="modules.html" >src</a> &raquo;</li>
<li><a href="pylorax.html" accesskey="U">pylorax Package</a> &raquo;</li> <li><a href="pylorax.html" accesskey="U">pylorax Package</a> &raquo;</li>
</ul> </ul>
@ -303,6 +303,33 @@ Other options will be filled in by <cite>make_compose()</cite></p>
<dd><p>Return the name-epoch:version-release.arch</p> <dd><p>Return the name-epoch:version-release.arch</p>
</dd></dl> </dd></dl>
<dl class="function">
<dt id="pylorax.api.projects.estimate_size">
<tt class="descclassname">pylorax.api.projects.</tt><tt class="descname">estimate_size</tt><big>(</big><em>packages</em>, <em>block_size=4096</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/projects.html#estimate_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.projects.estimate_size" title="Permalink to this definition"></a></dt>
<dd><p>Estimate the installed size of a package list</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>packages</strong> (<em>list of TransactionMember objects</em>) &#8211; The packages to be installed</li>
<li><strong>block_size</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; The block size to use for rounding up file sizes.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The estimated size of installed packages</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">int</p>
</td>
</tr>
</tbody>
</table>
<p>Estimating actual requirements is difficult without the actual file sizes, which
yum doesn&#8217;t provide access to. So use the file count and block size to estimate
a minimum size for each package.</p>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="pylorax.api.projects.modules_info"> <dt id="pylorax.api.projects.modules_info">
<tt class="descclassname">pylorax.api.projects.</tt><tt class="descname">modules_info</tt><big>(</big><em>yb</em>, <em>module_names</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/projects.html#modules_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.projects.modules_info" title="Permalink to this definition"></a></dt> <tt class="descclassname">pylorax.api.projects.</tt><tt class="descname">modules_info</tt><big>(</big><em>yb</em>, <em>module_names</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/projects.html#modules_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.projects.modules_info" title="Permalink to this definition"></a></dt>
@ -378,6 +405,30 @@ and sets the type to &#8220;rpm&#8221;</p>
</table> </table>
</dd></dl> </dd></dl>
<dl class="function">
<dt id="pylorax.api.projects.projects_depsolve_with_size">
<tt class="descclassname">pylorax.api.projects.</tt><tt class="descname">projects_depsolve_with_size</tt><big>(</big><em>yb</em>, <em>project_names</em>, <em>with_core=True</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/projects.html#projects_depsolve_with_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.projects.projects_depsolve_with_size" title="Permalink to this definition"></a></dt>
<dd><p>Return the dependencies and installed size for a list of projects</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>yb</strong> (<em>YumBase</em>) &#8211; yum base object</li>
<li><strong>project_names</strong> (<em>List of Strings</em>) &#8211; The projects to find the dependencies for</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">installed size and a list of NEVRA&#8217;s of the project and its dependencies</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">tuple of (int, list of dicts)</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="pylorax.api.projects.projects_info"> <dt id="pylorax.api.projects.projects_info">
<tt class="descclassname">pylorax.api.projects.</tt><tt class="descname">projects_info</tt><big>(</big><em>yb</em>, <em>project_names</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/projects.html#projects_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.projects.projects_info" title="Permalink to this definition"></a></dt> <tt class="descclassname">pylorax.api.projects.</tt><tt class="descname">projects_info</tt><big>(</big><em>yb</em>, <em>project_names</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/projects.html#projects_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.projects.projects_info" title="Permalink to this definition"></a></dt>
@ -540,6 +591,8 @@ Use queue_status() for those.</p>
</tr> </tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">dict</td> <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">dict</td>
</tr> </tr>
<tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">IOError if it cannot read the directory, STATUS, or blueprint file.</td>
</tr>
</tbody> </tbody>
</table> </table>
<p>The following details are included in the dict:</p> <p>The following details are included in the dict:</p>
@ -548,8 +601,9 @@ Use queue_status() for those.</p>
<li>queue_status - The final status of the composition (FINISHED or FAILED)</li> <li>queue_status - The final status of the composition (FINISHED or FAILED)</li>
<li>timestamp - The time of the last status change</li> <li>timestamp - The time of the last status change</li>
<li>compose_type - The type of output generated (tar, iso, etc.)</li> <li>compose_type - The type of output generated (tar, iso, etc.)</li>
<li>recipe - Recipe name</li> <li>blueprint - Blueprint name</li>
<li>version - Recipe version</li> <li>version - Blueprint version</li>
<li>image_size - Size of the image, if finished. 0 otherwise.</li>
</ul> </ul>
</dd></dl> </dd></dl>
@ -573,6 +627,26 @@ Use queue_status() for those.</p>
</table> </table>
</dd></dl> </dd></dl>
<dl class="function">
<dt id="pylorax.api.queue.get_image_name">
<tt class="descclassname">pylorax.api.queue.</tt><tt class="descname">get_image_name</tt><big>(</big><em>uuid_dir</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/queue.html#get_image_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.queue.get_image_name" title="Permalink to this definition"></a></dt>
<dd><p>Return the filename and full path of the build&#8217;s image file</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>uuid</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; The UUID of the build</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The image filename and full path</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">tuple of strings</td>
</tr>
<tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">RuntimeError if there was a problem (eg. invalid uuid, missing config file)</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function"> <dl class="function">
<dt id="pylorax.api.queue.make_compose"> <dt id="pylorax.api.queue.make_compose">
<tt class="descclassname">pylorax.api.queue.</tt><tt class="descname">make_compose</tt><big>(</big><em>cfg</em>, <em>results_dir</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/queue.html#make_compose"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.queue.make_compose" title="Permalink to this definition"></a></dt> <tt class="descclassname">pylorax.api.queue.</tt><tt class="descname">make_compose</tt><big>(</big><em>cfg</em>, <em>results_dir</em><big>)</big><a class="reference internal" href="_modules/pylorax/api/queue.html#make_compose"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.api.queue.make_compose" title="Permalink to this definition"></a></dt>
@ -777,8 +851,8 @@ and &#8220;run&#8221; has the uuids that are being built (currently limited to 1
<ul class="simple"> <ul class="simple">
<li>id - The uuid of the comoposition</li> <li>id - The uuid of the comoposition</li>
<li>config - containing the configuration settings used to run Anaconda</li> <li>config - containing the configuration settings used to run Anaconda</li>
<li>recipe - The depsolved recipe used to generate the kickstart</li> <li>blueprint - The depsolved blueprint used to generate the kickstart</li>
<li>commit - The (local) git commit hash for the recipe used</li> <li>commit - The (local) git commit hash for the blueprint used</li>
<li>deps - The NEVRA of all of the dependencies used in the composition</li> <li>deps - The NEVRA of all of the dependencies used in the composition</li>
<li>compose_type - The type of output generated (tar, iso, etc.)</li> <li>compose_type - The type of output generated (tar, iso, etc.)</li>
<li>queue_status - The final status of the composition (FINISHED or FAILED)</li> <li>queue_status - The final status of the composition (FINISHED or FAILED)</li>
@ -1875,47 +1949,26 @@ error response with it set to false and an error message included.</p>
</pre></div> </pre></div>
</div> </div>
<p>Error response:</p> <p>Error response:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><pre>{
<span class="s">&quot;error&quot;</span><span class="p">:</span> <span class="p">{</span> "errors": ["ggit-error: Failed to remove entry. File isn't in the tree - jboss.toml (-1)"]
<span class="s">&quot;msg&quot;</span><span class="p">:</span> <span class="s">&quot;ggit-error: Failed to remove entry. File isn&#39;t in the tree - jboss.toml (-1)&quot;</span> "status": false
<span class="p">},</span> }</pre>
<span class="s">&quot;status&quot;</span><span class="p">:</span> <span class="n">false</span>
<span class="p">}</span>
</pre></div>
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="api-routes"> <div class="section" id="api-routes">
<h3>API Routes<a class="headerlink" href="#api-routes" title="Permalink to this headline"></a></h3> <h3>API Routes<a class="headerlink" href="#api-routes" title="Permalink to this headline"></a></h3>
<p>All of the recipes routes support the optional <cite>branch</cite> argument. If it is not <p>All of the blueprints routes support the optional <cite>branch</cite> argument. If it is not
used then the API will use the <cite>master</cite> branch for recipes. If you want to create used then the API will use the <cite>master</cite> branch for blueprints. If you want to create
a new branch use the <cite>new</cite> or <cite>workspace</cite> routes with ?branch=&lt;branch-name&gt; to a new branch use the <cite>new</cite> or <cite>workspace</cite> routes with ?branch=&lt;branch-name&gt; to
store the new recipe on the new branch.</p> store the new blueprint on the new branch.</p>
<div class="section" id="api-v0-test"> <div class="section" id="api-v0-blueprints-list">
<h4><cite>/api/v0/test</cite><a class="headerlink" href="#api-v0-test" title="Permalink to this headline"></a></h4> <h4><cite>/api/v0/blueprints/list</cite><a class="headerlink" href="#api-v0-blueprints-list" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div>Return a test string. It is not JSON encoded.</div></blockquote> <div><p>List the available blueprints:</p>
</div>
<div class="section" id="api-v0-status">
<h4><cite>/api/v0/status</cite><a class="headerlink" href="#api-v0-status" title="Permalink to this headline"></a></h4>
<blockquote>
<div><p>Return the status of the API Server:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <span class="s">&quot;api&quot;</span><span class="p">:</span> <span class="s">&quot;0&quot;</span><span class="p">,</span>
<span class="s">&quot;build&quot;</span><span class="p">:</span> <span class="s">&quot;devel&quot;</span><span class="p">,</span>
<span class="s">&quot;db_supported&quot;</span><span class="p">:</span> <span class="n">false</span><span class="p">,</span>
<span class="s">&quot;db_version&quot;</span><span class="p">:</span> <span class="s">&quot;0&quot;</span><span class="p">,</span>
<span class="s">&quot;schema_version&quot;</span><span class="p">:</span> <span class="s">&quot;0&quot;</span> <span class="p">}</span>
</pre></div>
</div>
</div></blockquote>
</div>
<div class="section" id="api-v0-recipes-list">
<h4><cite>/api/v0/recipes/list</cite><a class="headerlink" href="#api-v0-recipes-list" title="Permalink to this headline"></a></h4>
<blockquote>
<div><p>List the available recipes:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <span class="s">&quot;limit&quot;</span><span class="p">:</span> <span class="mi">20</span><span class="p">,</span> <div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <span class="s">&quot;limit&quot;</span><span class="p">:</span> <span class="mi">20</span><span class="p">,</span>
<span class="s">&quot;offset&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;offset&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;recipes&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;blueprints&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="s">&quot;atlas&quot;</span><span class="p">,</span> <span class="s">&quot;atlas&quot;</span><span class="p">,</span>
<span class="s">&quot;development&quot;</span><span class="p">,</span> <span class="s">&quot;development&quot;</span><span class="p">,</span>
<span class="s">&quot;glusterfs&quot;</span><span class="p">,</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span>
@ -1927,13 +1980,13 @@ store the new recipe on the new branch.</p>
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="api-v0-recipes-info-recipe-names"> <div class="section" id="api-v0-blueprints-info-blueprint-names">
<h4><cite>/api/v0/recipes/info/&lt;recipe_names&gt;</cite><a class="headerlink" href="#api-v0-recipes-info-recipe-names" title="Permalink to this headline"></a></h4> <h4><cite>/api/v0/blueprints/info/&lt;blueprint_names&gt;</cite><a class="headerlink" href="#api-v0-blueprints-info-blueprint-names" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Return the JSON representation of the recipe. This includes 3 top level <div><p>Return the JSON representation of the blueprint. This includes 3 top level
objects. <cite>changes</cite> which lists whether or not the workspace is different from objects. <cite>changes</cite> which lists whether or not the workspace is different from
the most recent commit. <cite>recipes</cite> which lists the JSON representation of the the most recent commit. <cite>blueprints</cite> which lists the JSON representation of the
recipe, and <cite>errors</cite> which will list any errors, like non-existant recipes.</p> blueprint, and <cite>errors</cite> which will list any errors, like non-existant blueprints.</p>
<p>Example:</p> <p>Example:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><div class="highlight"><pre><span class="p">{</span>
<span class="s">&quot;changes&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;changes&quot;</span><span class="p">:</span> <span class="p">[</span>
@ -1943,7 +1996,7 @@ recipe, and <cite>errors</cite> which will list any errors, like non-existant re
<span class="p">}</span> <span class="p">}</span>
<span class="p">],</span> <span class="p">],</span>
<span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;recipes&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;blueprints&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;description&quot;</span><span class="p">:</span> <span class="s">&quot;An example GlusterFS server with samba&quot;</span><span class="p">,</span> <span class="s">&quot;description&quot;</span><span class="p">:</span> <span class="s">&quot;An example GlusterFS server with samba&quot;</span><span class="p">,</span>
<span class="s">&quot;modules&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;modules&quot;</span><span class="p">:</span> <span class="p">[</span>
@ -1974,68 +2027,62 @@ recipe, and <cite>errors</cite> which will list any errors, like non-existant re
</pre></div> </pre></div>
</div> </div>
<p>Error example:</p> <p>Error example:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><pre>{
<span class="s">&quot;changes&quot;</span><span class="p">:</span> <span class="p">[],</span> "changes": [],
<span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[</span> "errors": ["ggit-error: the path 'missing.toml' does not exist in the given tree (-3)"]
<span class="p">{</span> "blueprints": []
<span class="s">&quot;msg&quot;</span><span class="p">:</span> <span class="s">&quot;ggit-error: the path &#39;missing.toml&#39; does not exist in the given tree (-3)&quot;</span><span class="p">,</span> }</pre>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;missing&quot;</span>
<span class="p">}</span>
<span class="p">],</span>
<span class="s">&quot;recipes&quot;</span><span class="p">:</span> <span class="p">[]</span>
<span class="p">}</span>
</pre></div>
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="api-v0-recipes-changes-recipe-names-offset-0-limit-20"> <div class="section" id="api-v0-blueprints-changes-blueprint-names-offset-0-limit-20">
<h4><cite>/api/v0/recipes/changes/&lt;recipe_names&gt;[?offset=0&amp;limit=20]</cite><a class="headerlink" href="#api-v0-recipes-changes-recipe-names-offset-0-limit-20" title="Permalink to this headline"></a></h4> <h4><cite>/api/v0/blueprints/changes/&lt;blueprint_names&gt;[?offset=0&amp;limit=20]</cite><a class="headerlink" href="#api-v0-blueprints-changes-blueprint-names-offset-0-limit-20" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Return the commits to a recipe. By default it returns the first 20 commits, this <div><p>Return the commits to a blueprint. By default it returns the first 20 commits, this
can be changed by passing <cite>offset</cite> and/or <cite>limit</cite>. The response will include the can be changed by passing <cite>offset</cite> and/or <cite>limit</cite>. The response will include the
commit hash, summary, timestamp, and optionally the revision number. The commit commit hash, summary, timestamp, and optionally the revision number. The commit
hash can be passed to <cite>/api/v0/recipes/diff/</cite> to retrieve the exact changes.</p> hash can be passed to <cite>/api/v0/blueprints/diff/</cite> to retrieve the exact changes.</p>
<p>Example:</p> <p>Example:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><div class="highlight"><pre><span class="p">{</span>
<span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;limit&quot;</span><span class="p">:</span> <span class="mi">20</span><span class="p">,</span> <span class="s">&quot;limit&quot;</span><span class="p">:</span> <span class="mi">20</span><span class="p">,</span>
<span class="s">&quot;offset&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;offset&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&quot;recipes&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;blueprints&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;changes&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;changes&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;e083921a7ed1cf2eec91ad12b9ad1e70ef3470be&quot;</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;e083921a7ed1cf2eec91ad12b9ad1e70ef3470be&quot;</span><span class="p">,</span>
<span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;Recipe glusterfs, version 0.0.6 saved.&quot;</span><span class="p">,</span> <span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;blueprint glusterfs, version 0.0.6 saved.&quot;</span><span class="p">,</span>
<span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span> <span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-23T00:18:13Z&quot;</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-23T00:18:13Z&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;cee5f4c20fc33ea4d54bfecf56f4ad41ad15f4f3&quot;</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;cee5f4c20fc33ea4d54bfecf56f4ad41ad15f4f3&quot;</span><span class="p">,</span>
<span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;Recipe glusterfs, version 0.0.5 saved.&quot;</span><span class="p">,</span> <span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;blueprint glusterfs, version 0.0.5 saved.&quot;</span><span class="p">,</span>
<span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span> <span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-11T01:00:28Z&quot;</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-11T01:00:28Z&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;29b492f26ed35d80800b536623bafc51e2f0eff2&quot;</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;29b492f26ed35d80800b536623bafc51e2f0eff2&quot;</span><span class="p">,</span>
<span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;Recipe glusterfs, version 0.0.4 saved.&quot;</span><span class="p">,</span> <span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;blueprint glusterfs, version 0.0.4 saved.&quot;</span><span class="p">,</span>
<span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span> <span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-11T00:28:30Z&quot;</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-11T00:28:30Z&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;03374adbf080fe34f5c6c29f2e49cc2b86958bf2&quot;</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;03374adbf080fe34f5c6c29f2e49cc2b86958bf2&quot;</span><span class="p">,</span>
<span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;Recipe glusterfs, version 0.0.3 saved.&quot;</span><span class="p">,</span> <span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;blueprint glusterfs, version 0.0.3 saved.&quot;</span><span class="p">,</span>
<span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span> <span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-10T23:15:52Z&quot;</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-10T23:15:52Z&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;0e08ecbb708675bfabc82952599a1712a843779d&quot;</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;0e08ecbb708675bfabc82952599a1712a843779d&quot;</span><span class="p">,</span>
<span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;Recipe glusterfs, version 0.0.2 saved.&quot;</span><span class="p">,</span> <span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;blueprint glusterfs, version 0.0.2 saved.&quot;</span><span class="p">,</span>
<span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span> <span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-10T23:14:56Z&quot;</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-10T23:14:56Z&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;3e11eb87a63d289662cba4b1804a0947a6843379&quot;</span><span class="p">,</span> <span class="s">&quot;commit&quot;</span><span class="p">:</span> <span class="s">&quot;3e11eb87a63d289662cba4b1804a0947a6843379&quot;</span><span class="p">,</span>
<span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;Recipe glusterfs, version 0.0.1 saved.&quot;</span><span class="p">,</span> <span class="s">&quot;message&quot;</span><span class="p">:</span> <span class="s">&quot;blueprint glusterfs, version 0.0.1 saved.&quot;</span><span class="p">,</span>
<span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span> <span class="s">&quot;revision&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-08T00:02:47Z&quot;</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="s">&quot;2017-11-08T00:02:47Z&quot;</span>
<span class="p">}</span> <span class="p">}</span>
@ -2049,70 +2096,70 @@ hash can be passed to <cite>/api/v0/recipes/diff/</cite> to retrieve the exact c
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="post-api-v0-recipes-new"> <div class="section" id="post-api-v0-blueprints-new">
<h4>POST <cite>/api/v0/recipes/new</cite><a class="headerlink" href="#post-api-v0-recipes-new" title="Permalink to this headline"></a></h4> <h4>POST <cite>/api/v0/blueprints/new</cite><a class="headerlink" href="#post-api-v0-blueprints-new" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Create a new recipe, or update an existing recipe. This supports both JSON and TOML <div><p>Create a new blueprint, or update an existing blueprint. This supports both JSON and TOML
for the recipe format. The recipe should be in the body of the request with the for the blueprint format. The blueprint should be in the body of the request with the
<cite>Content-Type</cite> header set to either <cite>application/json</cite> or <cite>text/x-toml</cite>.</p> <cite>Content-Type</cite> header set to either <cite>application/json</cite> or <cite>text/x-toml</cite>.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an <p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p> error response with it set to false and an error message included.</p>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="delete-api-v0-recipes-delete-recipe-name"> <div class="section" id="delete-api-v0-blueprints-delete-blueprint-name">
<h4>DELETE <cite>/api/v0/recipes/delete/&lt;recipe_name&gt;</cite><a class="headerlink" href="#delete-api-v0-recipes-delete-recipe-name" title="Permalink to this headline"></a></h4> <h4>DELETE <cite>/api/v0/blueprints/delete/&lt;blueprint_name&gt;</cite><a class="headerlink" href="#delete-api-v0-blueprints-delete-blueprint-name" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Delete a recipe. The recipe is deleted from the branch, and will no longer <div><p>Delete a blueprint. The blueprint is deleted from the branch, and will no longer
be listed by the <cite>list</cite> route. A recipe can be undeleted using the <cite>undo</cite> route be listed by the <cite>list</cite> route. A blueprint can be undeleted using the <cite>undo</cite> route
to revert to a previous commit.</p> to revert to a previous commit.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an <p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p> error response with it set to false and an error message included.</p>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="post-api-v0-recipes-workspace"> <div class="section" id="post-api-v0-blueprints-workspace">
<h4>POST <cite>/api/v0/recipes/workspace</cite><a class="headerlink" href="#post-api-v0-recipes-workspace" title="Permalink to this headline"></a></h4> <h4>POST <cite>/api/v0/blueprints/workspace</cite><a class="headerlink" href="#post-api-v0-blueprints-workspace" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Write a recipe to the temporary workspace. This works exactly the same as <cite>new</cite> except <div><p>Write a blueprint to the temporary workspace. This works exactly the same as <cite>new</cite> except
that it does not create a commit. JSON and TOML bodies are supported.</p> that it does not create a commit. JSON and TOML bodies are supported.</p>
<p>The workspace is meant to be used as a temporary recipe storage for clients. <p>The workspace is meant to be used as a temporary blueprint storage for clients.
It will be read by the <cite>info</cite> and <cite>diff</cite> routes if it is different from the It will be read by the <cite>info</cite> and <cite>diff</cite> routes if it is different from the
most recent commit.</p> most recent commit.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an <p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p> error response with it set to false and an error message included.</p>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="delete-api-v0-recipes-workspace-recipe-name"> <div class="section" id="delete-api-v0-blueprints-workspace-blueprint-name">
<h4>DELETE <cite>/api/v0/recipes/workspace/&lt;recipe_name&gt;</cite><a class="headerlink" href="#delete-api-v0-recipes-workspace-recipe-name" title="Permalink to this headline"></a></h4> <h4>DELETE <cite>/api/v0/blueprints/workspace/&lt;blueprint_name&gt;</cite><a class="headerlink" href="#delete-api-v0-blueprints-workspace-blueprint-name" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Remove the temporary workspace copy of a recipe. The <cite>info</cite> route will now <div><p>Remove the temporary workspace copy of a blueprint. The <cite>info</cite> route will now
return the most recent commit of the recipe. Any changes that were in the return the most recent commit of the blueprint. Any changes that were in the
workspace will be lost.</p> workspace will be lost.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an <p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p> error response with it set to false and an error message included.</p>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="post-api-v0-recipes-undo-recipe-name-commit"> <div class="section" id="post-api-v0-blueprints-undo-blueprint-name-commit">
<h4>POST <cite>/api/v0/recipes/undo/&lt;recipe_name&gt;/&lt;commit&gt;</cite><a class="headerlink" href="#post-api-v0-recipes-undo-recipe-name-commit" title="Permalink to this headline"></a></h4> <h4>POST <cite>/api/v0/blueprints/undo/&lt;blueprint_name&gt;/&lt;commit&gt;</cite><a class="headerlink" href="#post-api-v0-blueprints-undo-blueprint-name-commit" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>This will revert the recipe to a previous commit. The commit hash from the <cite>changes</cite> <div><p>This will revert the blueprint to a previous commit. The commit hash from the <cite>changes</cite>
route can be used in this request.</p> route can be used in this request.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an <p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p> error response with it set to false and an error message included.</p>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="post-api-v0-recipes-tag-recipe-name"> <div class="section" id="post-api-v0-blueprints-tag-blueprint-name">
<h4>POST <cite>/api/v0/recipes/tag/&lt;recipe_name&gt;</cite><a class="headerlink" href="#post-api-v0-recipes-tag-recipe-name" title="Permalink to this headline"></a></h4> <h4>POST <cite>/api/v0/blueprints/tag/&lt;blueprint_name&gt;</cite><a class="headerlink" href="#post-api-v0-blueprints-tag-blueprint-name" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Tag a recipe as a new release. This uses git tags with a special format. <div><p>Tag a blueprint as a new release. This uses git tags with a special format.
<cite>refs/tags/&lt;branch&gt;/&lt;filename&gt;/r&lt;revision&gt;</cite>. Only the most recent recipe commit <cite>refs/tags/&lt;branch&gt;/&lt;filename&gt;/r&lt;revision&gt;</cite>. Only the most recent blueprint commit
can be tagged. Revisions start at 1 and increment for each new tag can be tagged. Revisions start at 1 and increment for each new tag
(per-recipe). If the commit has already been tagged it will return false.</p> (per-blueprint). If the commit has already been tagged it will return false.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an <p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p> error response with it set to false and an error message included.</p>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="api-v0-recipes-diff-recipe-name-from-commit-to-commit"> <div class="section" id="api-v0-blueprints-diff-blueprint-name-from-commit-to-commit">
<h4><cite>/api/v0/recipes/diff/&lt;recipe_name&gt;/&lt;from_commit&gt;/&lt;to_commit&gt;</cite><a class="headerlink" href="#api-v0-recipes-diff-recipe-name-from-commit-to-commit" title="Permalink to this headline"></a></h4> <h4><cite>/api/v0/blueprints/diff/&lt;blueprint_name&gt;/&lt;from_commit&gt;/&lt;to_commit&gt;</cite><a class="headerlink" href="#api-v0-blueprints-diff-blueprint-name-from-commit-to-commit" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Return the differences between two commits, or the workspace. The commit hash <div><p>Return the differences between two commits, or the workspace. The commit hash
from the <cite>changes</cite> response can be used here, or several special strings:</p> from the <cite>changes</cite> response can be used here, or several special strings:</p>
@ -2120,13 +2167,13 @@ from the <cite>changes</cite> response can be used here, or several special stri
<li>NEWEST will select the newest git commit. This works for <cite>from_commit</cite> or <cite>to_commit</cite></li> <li>NEWEST will select the newest git commit. This works for <cite>from_commit</cite> or <cite>to_commit</cite></li>
<li>WORKSPACE will select the workspace copy. This can only be used in <cite>to_commit</cite></li> <li>WORKSPACE will select the workspace copy. This can only be used in <cite>to_commit</cite></li>
</ul> </ul>
<p>eg. <cite>/api/v0/recipes/diff/glusterfs/NEWEST/WORKSPACE</cite> will return the differences <p>eg. <cite>/api/v0/blueprints/diff/glusterfs/NEWEST/WORKSPACE</cite> will return the differences
between the most recent git commit and the contents of the workspace.</p> between the most recent git commit and the contents of the workspace.</p>
<p>Each entry in the response&#8217;s diff object contains the old recipe value and the new one. <p>Each entry in the response&#8217;s diff object contains the old blueprint value and the new one.
If old is null and new is set, then it was added. If old is null and new is set, then it was added.
If new is null and old is set, then it was removed. If new is null and old is set, then it was removed.
If both are set, then it was changed.</p> If both are set, then it was changed.</p>
<p>The old/new entries will have the name of the recipe field that was changed. This <p>The old/new entries will have the name of the blueprint field that was changed. This
can be one of: Name, Description, Version, Module, or Package. can be one of: Name, Description, Version, Module, or Package.
The contents for these will be the old/new values for them.</p> The contents for these will be the old/new values for them.</p>
<p>In the example below the version was changed and the ping package was added.</p> <p>In the example below the version was changed and the ping package was added.</p>
@ -2156,17 +2203,17 @@ The contents for these will be the old/new values for them.</p>
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="api-v0-recipes-freeze-recipe-names"> <div class="section" id="api-v0-blueprints-freeze-blueprint-names">
<h4><cite>/api/v0/recipes/freeze/&lt;recipe_names&gt;</cite><a class="headerlink" href="#api-v0-recipes-freeze-recipe-names" title="Permalink to this headline"></a></h4> <h4><cite>/api/v0/blueprints/freeze/&lt;blueprint_names&gt;</cite><a class="headerlink" href="#api-v0-blueprints-freeze-blueprint-names" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Return a JSON representation of the recipe with the package and module versions set <div><p>Return a JSON representation of the blueprint with the package and module versions set
to the exact versions chosen by depsolving the recipe.</p> to the exact versions chosen by depsolving the blueprint.</p>
<p>Example:</p> <p>Example:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><div class="highlight"><pre><span class="p">{</span>
<span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="s">&quot;errors&quot;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&quot;recipes&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;blueprints&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="p">{</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="s">&quot;description&quot;</span><span class="p">:</span> <span class="s">&quot;An example GlusterFS server with samba&quot;</span><span class="p">,</span> <span class="s">&quot;description&quot;</span><span class="p">:</span> <span class="s">&quot;An example GlusterFS server with samba&quot;</span><span class="p">,</span>
<span class="s">&quot;modules&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;modules&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
@ -2198,17 +2245,17 @@ to the exact versions chosen by depsolving the recipe.</p>
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="api-v0-recipes-depsolve-recipe-names"> <div class="section" id="api-v0-blueprints-depsolve-blueprint-names">
<h4><cite>/api/v0/recipes/depsolve/&lt;recipe_names&gt;</cite><a class="headerlink" href="#api-v0-recipes-depsolve-recipe-names" title="Permalink to this headline"></a></h4> <h4><cite>/api/v0/blueprints/depsolve/&lt;blueprint_names&gt;</cite><a class="headerlink" href="#api-v0-blueprints-depsolve-blueprint-names" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Depsolve the recipe using yum, return the recipe used, and the NEVRAs of the packages <div><p>Depsolve the blueprint using yum, return the blueprint used, and the NEVRAs of the packages
chosen to satisfy the recipe&#8217;s requirements. The response will include a list of results, chosen to satisfy the blueprint&#8217;s requirements. The response will include a list of results,
with the full dependency list in <cite>dependencies</cite>, the NEVRAs for the recipe&#8217;s direct modules with the full dependency list in <cite>dependencies</cite>, the NEVRAs for the blueprint&#8217;s direct modules
and packages in <cite>modules</cite>, and any error will be in <cite>errors</cite>.</p> and packages in <cite>modules</cite>, and any error will be in <cite>errors</cite>.</p>
<p>Example:</p> <p>Example:</p>
<div class="highlight-python"><pre>{ <div class="highlight-python"><pre>{
"errors": [], "errors": [],
"recipes": [ "blueprints": [
{ {
"dependencies": [ "dependencies": [
{ {
@ -2258,7 +2305,7 @@ and packages in <cite>modules</cite>, and any error will be in <cite>errors</cit
}, },
... ...
], ],
"recipe": { "blueprint": {
"description": "An example GlusterFS server with samba", "description": "An example GlusterFS server with samba",
"modules": [ "modules": [
{ {
@ -2469,14 +2516,14 @@ arguments.</p>
<div><p>Start a compose. The content type should be &#8216;application/json&#8217; and the body of the POST <div><p>Start a compose. The content type should be &#8216;application/json&#8217; and the body of the POST
should look like this:</p> should look like this:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><div class="highlight"><pre><span class="p">{</span>
<span class="s">&quot;recipe_name&quot;</span><span class="p">:</span> <span class="s">&quot;http-server&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint_name&quot;</span><span class="p">:</span> <span class="s">&quot;http-server&quot;</span><span class="p">,</span>
<span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="s">&quot;tar&quot;</span><span class="p">,</span> <span class="s">&quot;compose_type&quot;</span><span class="p">:</span> <span class="s">&quot;tar&quot;</span><span class="p">,</span>
<span class="s">&quot;branch&quot;</span><span class="p">:</span> <span class="s">&quot;master&quot;</span> <span class="s">&quot;branch&quot;</span><span class="p">:</span> <span class="s">&quot;master&quot;</span>
<span class="p">}</span> <span class="p">}</span>
</pre></div> </pre></div>
</div> </div>
<p>Pass it the name of the recipe, the type of output (from &#8216;/api/v0/compose/types&#8217;), and the <p>Pass it the name of the blueprint, the type of output (from &#8216;/api/v0/compose/types&#8217;), and the
recipe branch to use. &#8216;branch&#8217; is optional and will default to master. It will create a new blueprint branch to use. &#8216;branch&#8217; is optional and will default to master. It will create a new
build and add it to the queue. It returns the build uuid and a status if it succeeds:</p> build and add it to the queue. It returns the build uuid and a status if it succeeds:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span> <div class="highlight-python"><div class="highlight"><pre><span class="p">{</span>
<span class="s">&quot;build_id&quot;</span><span class="p">:</span> <span class="s">&quot;e6fa6db4-9c81-4b70-870f-a697ca405cdf&quot;</span><span class="p">,</span> <span class="s">&quot;build_id&quot;</span><span class="p">:</span> <span class="s">&quot;e6fa6db4-9c81-4b70-870f-a697ca405cdf&quot;</span><span class="p">,</span>
@ -2520,14 +2567,14 @@ and the build that is running.</p>
<span class="s">&quot;new&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;new&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;45502a6d-06e8-48a5-a215-2b4174b3614b&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;45502a6d-06e8-48a5-a215-2b4174b3614b&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;WAITING&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;WAITING&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362647.4570868</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362647.4570868</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;6d292bd0-bec7-4825-8d7d-41ef9c3e4b73&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;6d292bd0-bec7-4825-8d7d-41ef9c3e4b73&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;kubernetes&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;kubernetes&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;WAITING&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;WAITING&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362659.0034983</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362659.0034983</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.1&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.1&quot;</span>
@ -2536,7 +2583,7 @@ and the build that is running.</p>
<span class="s">&quot;run&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;run&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;745712b2-96db-44c0-8014-fe925c35e795&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;745712b2-96db-44c0-8014-fe925c35e795&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;RUNNING&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;RUNNING&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362633.7965999</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362633.7965999</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span>
@ -2556,14 +2603,14 @@ and the build that is running.</p>
<span class="s">&quot;finished&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;finished&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;70b84195-9817-4b8a-af92-45e380f39894&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;70b84195-9817-4b8a-af92-45e380f39894&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517351003.8210032</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517351003.8210032</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;e695affd-397f-4af9-9022-add2636e7459&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;e695affd-397f-4af9-9022-add2636e7459&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362289.7193348</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517362289.7193348</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span>
@ -2583,7 +2630,7 @@ and the build that is running.</p>
<span class="s">&quot;failed&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;failed&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;8c8435ef-d6bd-4c68-9bf1-a2ef832e6b1a&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;8c8435ef-d6bd-4c68-9bf1-a2ef832e6b1a&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;http-server&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;http-server&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FAILED&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FAILED&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517523249.9301329</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517523249.9301329</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.2&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.2&quot;</span>
@ -2603,14 +2650,14 @@ and the build that is running.</p>
<span class="s">&quot;uuids&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="s">&quot;uuids&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;8c8435ef-d6bd-4c68-9bf1-a2ef832e6b1a&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;8c8435ef-d6bd-4c68-9bf1-a2ef832e6b1a&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;http-server&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;http-server&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517523644.2384307</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517523644.2384307</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.2&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.2&quot;</span>
<span class="p">},</span> <span class="p">},</span>
<span class="p">{</span> <span class="p">{</span>
<span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;45502a6d-06e8-48a5-a215-2b4174b3614b&quot;</span><span class="p">,</span> <span class="s">&quot;id&quot;</span><span class="p">:</span> <span class="s">&quot;45502a6d-06e8-48a5-a215-2b4174b3614b&quot;</span><span class="p">,</span>
<span class="s">&quot;recipe&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span> <span class="s">&quot;blueprint&quot;</span><span class="p">:</span> <span class="s">&quot;glusterfs&quot;</span><span class="p">,</span>
<span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span> <span class="s">&quot;queue_status&quot;</span><span class="p">:</span> <span class="s">&quot;FINISHED&quot;</span><span class="p">,</span>
<span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517363442.188399</span><span class="p">,</span> <span class="s">&quot;timestamp&quot;</span><span class="p">:</span> <span class="mf">1517363442.188399</span><span class="p">,</span>
<span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span> <span class="s">&quot;version&quot;</span><span class="p">:</span> <span class="s">&quot;0.0.6&quot;</span>
@ -2621,8 +2668,8 @@ and the build that is running.</p>
</div> </div>
</div></blockquote> </div></blockquote>
</div> </div>
<div class="section" id="delete-api-v0-recipes-cancel-uuid"> <div class="section" id="delete-api-v0-blueprints-cancel-uuid">
<h4>DELETE <cite>/api/v0/recipes/cancel/&lt;uuid&gt;</cite><a class="headerlink" href="#delete-api-v0-recipes-cancel-uuid" title="Permalink to this headline"></a></h4> <h4>DELETE <cite>/api/v0/blueprints/cancel/&lt;uuid&gt;</cite><a class="headerlink" href="#delete-api-v0-blueprints-cancel-uuid" title="Permalink to this headline"></a></h4>
<blockquote> <blockquote>
<div><p>Cancel the build, if it is not finished, and delete the results. It will return a <div><p>Cancel the build, if it is not finished, and delete the results. It will return a
status of True if it is successful.</p> status of True if it is successful.</p>
@ -2662,8 +2709,8 @@ contain the following information:</p>
<div><ul class="simple"> <div><ul class="simple">
<li>id - The uuid of the comoposition</li> <li>id - The uuid of the comoposition</li>
<li>config - containing the configuration settings used to run Anaconda</li> <li>config - containing the configuration settings used to run Anaconda</li>
<li>recipe - The depsolved recipe used to generate the kickstart</li> <li>blueprint - The depsolved blueprint used to generate the kickstart</li>
<li>commit - The (local) git commit hash for the recipe used</li> <li>commit - The (local) git commit hash for the blueprint used</li>
<li>deps - The NEVRA of all of the dependencies used in the composition</li> <li>deps - The NEVRA of all of the dependencies used in the composition</li>
<li>compose_type - The type of output generated (tar, iso, etc.)</li> <li>compose_type - The type of output generated (tar, iso, etc.)</li>
<li>queue_status - The final status of the composition (FINISHED or FAILED)</li> <li>queue_status - The final status of the composition (FINISHED or FAILED)</li>
@ -2694,7 +2741,7 @@ contain the following information:</p>
}, },
"id": "c30b7d80-523b-4a23-ad52-61b799739ce8", "id": "c30b7d80-523b-4a23-ad52-61b799739ce8",
"queue_status": "FINISHED", "queue_status": "FINISHED",
"recipe": { "blueprint": {
"description": "An example kubernetes master", "description": "An example kubernetes master",
... ...
} }
@ -2944,20 +2991,18 @@ a line boundry.</p>
<li><a class="reference internal" href="#module-pylorax.api.v0"><tt class="docutils literal"><span class="pre">v0</span></tt> Module</a><ul> <li><a class="reference internal" href="#module-pylorax.api.v0"><tt class="docutils literal"><span class="pre">v0</span></tt> Module</a><ul>
<li><a class="reference internal" href="#status-responses">Status Responses</a></li> <li><a class="reference internal" href="#status-responses">Status Responses</a></li>
<li><a class="reference internal" href="#api-routes">API Routes</a><ul> <li><a class="reference internal" href="#api-routes">API Routes</a><ul>
<li><a class="reference internal" href="#api-v0-test"><cite>/api/v0/test</cite></a></li> <li><a class="reference internal" href="#api-v0-blueprints-list"><cite>/api/v0/blueprints/list</cite></a></li>
<li><a class="reference internal" href="#api-v0-status"><cite>/api/v0/status</cite></a></li> <li><a class="reference internal" href="#api-v0-blueprints-info-blueprint-names"><cite>/api/v0/blueprints/info/&lt;blueprint_names&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-recipes-list"><cite>/api/v0/recipes/list</cite></a></li> <li><a class="reference internal" href="#api-v0-blueprints-changes-blueprint-names-offset-0-limit-20"><cite>/api/v0/blueprints/changes/&lt;blueprint_names&gt;[?offset=0&amp;limit=20]</cite></a></li>
<li><a class="reference internal" href="#api-v0-recipes-info-recipe-names"><cite>/api/v0/recipes/info/&lt;recipe_names&gt;</cite></a></li> <li><a class="reference internal" href="#post-api-v0-blueprints-new">POST <cite>/api/v0/blueprints/new</cite></a></li>
<li><a class="reference internal" href="#api-v0-recipes-changes-recipe-names-offset-0-limit-20"><cite>/api/v0/recipes/changes/&lt;recipe_names&gt;[?offset=0&amp;limit=20]</cite></a></li> <li><a class="reference internal" href="#delete-api-v0-blueprints-delete-blueprint-name">DELETE <cite>/api/v0/blueprints/delete/&lt;blueprint_name&gt;</cite></a></li>
<li><a class="reference internal" href="#post-api-v0-recipes-new">POST <cite>/api/v0/recipes/new</cite></a></li> <li><a class="reference internal" href="#post-api-v0-blueprints-workspace">POST <cite>/api/v0/blueprints/workspace</cite></a></li>
<li><a class="reference internal" href="#delete-api-v0-recipes-delete-recipe-name">DELETE <cite>/api/v0/recipes/delete/&lt;recipe_name&gt;</cite></a></li> <li><a class="reference internal" href="#delete-api-v0-blueprints-workspace-blueprint-name">DELETE <cite>/api/v0/blueprints/workspace/&lt;blueprint_name&gt;</cite></a></li>
<li><a class="reference internal" href="#post-api-v0-recipes-workspace">POST <cite>/api/v0/recipes/workspace</cite></a></li> <li><a class="reference internal" href="#post-api-v0-blueprints-undo-blueprint-name-commit">POST <cite>/api/v0/blueprints/undo/&lt;blueprint_name&gt;/&lt;commit&gt;</cite></a></li>
<li><a class="reference internal" href="#delete-api-v0-recipes-workspace-recipe-name">DELETE <cite>/api/v0/recipes/workspace/&lt;recipe_name&gt;</cite></a></li> <li><a class="reference internal" href="#post-api-v0-blueprints-tag-blueprint-name">POST <cite>/api/v0/blueprints/tag/&lt;blueprint_name&gt;</cite></a></li>
<li><a class="reference internal" href="#post-api-v0-recipes-undo-recipe-name-commit">POST <cite>/api/v0/recipes/undo/&lt;recipe_name&gt;/&lt;commit&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-blueprints-diff-blueprint-name-from-commit-to-commit"><cite>/api/v0/blueprints/diff/&lt;blueprint_name&gt;/&lt;from_commit&gt;/&lt;to_commit&gt;</cite></a></li>
<li><a class="reference internal" href="#post-api-v0-recipes-tag-recipe-name">POST <cite>/api/v0/recipes/tag/&lt;recipe_name&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-blueprints-freeze-blueprint-names"><cite>/api/v0/blueprints/freeze/&lt;blueprint_names&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-recipes-diff-recipe-name-from-commit-to-commit"><cite>/api/v0/recipes/diff/&lt;recipe_name&gt;/&lt;from_commit&gt;/&lt;to_commit&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-blueprints-depsolve-blueprint-names"><cite>/api/v0/blueprints/depsolve/&lt;blueprint_names&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-recipes-freeze-recipe-names"><cite>/api/v0/recipes/freeze/&lt;recipe_names&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-recipes-depsolve-recipe-names"><cite>/api/v0/recipes/depsolve/&lt;recipe_names&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-projects-list-offset-0-limit-20"><cite>/api/v0/projects/list[?offset=0&amp;limit=20]</cite></a></li> <li><a class="reference internal" href="#api-v0-projects-list-offset-0-limit-20"><cite>/api/v0/projects/list[?offset=0&amp;limit=20]</cite></a></li>
<li><a class="reference internal" href="#api-v0-projects-info-project-names"><cite>/api/v0/projects/info/&lt;project_names&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-projects-info-project-names"><cite>/api/v0/projects/info/&lt;project_names&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-projects-depsolve-project-names"><cite>/api/v0/projects/depsolve/&lt;project_names&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-projects-depsolve-project-names"><cite>/api/v0/projects/depsolve/&lt;project_names&gt;</cite></a></li>
@ -2970,7 +3015,7 @@ a line boundry.</p>
<li><a class="reference internal" href="#api-v0-compose-finished"><cite>/api/v0/compose/finished</cite></a></li> <li><a class="reference internal" href="#api-v0-compose-finished"><cite>/api/v0/compose/finished</cite></a></li>
<li><a class="reference internal" href="#api-v0-compose-failed"><cite>/api/v0/compose/failed</cite></a></li> <li><a class="reference internal" href="#api-v0-compose-failed"><cite>/api/v0/compose/failed</cite></a></li>
<li><a class="reference internal" href="#api-v0-compose-status-uuids"><cite>/api/v0/compose/status/&lt;uuids&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-compose-status-uuids"><cite>/api/v0/compose/status/&lt;uuids&gt;</cite></a></li>
<li><a class="reference internal" href="#delete-api-v0-recipes-cancel-uuid">DELETE <cite>/api/v0/recipes/cancel/&lt;uuid&gt;</cite></a></li> <li><a class="reference internal" href="#delete-api-v0-blueprints-cancel-uuid">DELETE <cite>/api/v0/blueprints/cancel/&lt;uuid&gt;</cite></a></li>
<li><a class="reference internal" href="#delete-api-v0-compose-delete-uuids">DELETE <cite>/api/v0/compose/delete/&lt;uuids&gt;</cite></a></li> <li><a class="reference internal" href="#delete-api-v0-compose-delete-uuids">DELETE <cite>/api/v0/compose/delete/&lt;uuids&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-compose-info-uuid"><cite>/api/v0/compose/info/&lt;uuid&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-compose-info-uuid"><cite>/api/v0/compose/info/&lt;uuid&gt;</cite></a></li>
<li><a class="reference internal" href="#api-v0-compose-metadata-uuid"><cite>/api/v0/compose/metadata/&lt;uuid&gt;</cite></a></li> <li><a class="reference internal" href="#api-v0-compose-metadata-uuid"><cite>/api/v0/compose/metadata/&lt;uuid&gt;</cite></a></li>
@ -3025,7 +3070,7 @@ a line boundry.</p>
<li class="right" > <li class="right" >
<a href="pylorax.html" title="pylorax Package" <a href="pylorax.html" title="pylorax Package"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" >src</a> &raquo;</li> <li><a href="modules.html" >src</a> &raquo;</li>
<li><a href="pylorax.html" >pylorax Package</a> &raquo;</li> <li><a href="pylorax.html" >pylorax Package</a> &raquo;</li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pylorax Package &mdash; Lorax 19.7.11 documentation</title> <title>pylorax Package &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<link rel="up" title="src" href="modules.html" /> <link rel="up" title="src" href="modules.html" />
<link rel="next" title="api Package" href="pylorax.api.html" /> <link rel="next" title="api Package" href="pylorax.api.html" />
<link rel="prev" title="cli Package" href="composer.cli.html" /> <link rel="prev" title="cli Package" href="composer.cli.html" />
@ -46,7 +46,7 @@
<li class="right" > <li class="right" >
<a href="composer.cli.html" title="cli Package" <a href="composer.cli.html" title="cli Package"
accesskey="P">previous</a> |</li> accesskey="P">previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" accesskey="U">src</a> &raquo;</li> <li><a href="modules.html" accesskey="U">src</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -116,27 +116,27 @@
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></a></p> <dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></a></p>
<dl class="method"> <dl class="method">
<dt id="pylorax.base.BaseLoraxClass.pcritical"> <dt id="pylorax.base.BaseLoraxClass.pcritical">
<tt class="descname">pcritical</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f4f7f21e150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pcritical"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pcritical" title="Permalink to this definition"></a></dt> <tt class="descname">pcritical</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f1c44b99150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pcritical"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pcritical" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd></dd></dl>
<dl class="method"> <dl class="method">
<dt id="pylorax.base.BaseLoraxClass.pdebug"> <dt id="pylorax.base.BaseLoraxClass.pdebug">
<tt class="descname">pdebug</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f4f7f21e150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pdebug"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pdebug" title="Permalink to this definition"></a></dt> <tt class="descname">pdebug</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f1c44b99150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pdebug"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pdebug" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd></dd></dl>
<dl class="method"> <dl class="method">
<dt id="pylorax.base.BaseLoraxClass.perror"> <dt id="pylorax.base.BaseLoraxClass.perror">
<tt class="descname">perror</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f4f7f21e150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.perror"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.perror" title="Permalink to this definition"></a></dt> <tt class="descname">perror</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f1c44b99150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.perror"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.perror" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd></dd></dl>
<dl class="method"> <dl class="method">
<dt id="pylorax.base.BaseLoraxClass.pinfo"> <dt id="pylorax.base.BaseLoraxClass.pinfo">
<tt class="descname">pinfo</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f4f7f21e150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pinfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pinfo" title="Permalink to this definition"></a></dt> <tt class="descname">pinfo</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f1c44b99150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pinfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pinfo" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd></dd></dl>
<dl class="method"> <dl class="method">
<dt id="pylorax.base.BaseLoraxClass.pwarning"> <dt id="pylorax.base.BaseLoraxClass.pwarning">
<tt class="descname">pwarning</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f4f7f21e150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pwarning"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pwarning" title="Permalink to this definition"></a></dt> <tt class="descname">pwarning</tt><big>(</big><em>msg</em>, <em>fobj=&lt;open file '&lt;stdout&gt;'</em>, <em>mode 'w' at 0x7f1c44b99150&gt;</em><big>)</big><a class="reference internal" href="_modules/pylorax/base.html#BaseLoraxClass.pwarning"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.base.BaseLoraxClass.pwarning" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd></dd></dl>
</dd></dl> </dd></dl>
@ -1477,20 +1477,18 @@ image is built with the filename &#8220;${prefix}-${kernel.version}.img&#8221;</
<li class="toctree-l2"><a class="reference internal" href="pylorax.api.html#module-pylorax.api.v0"><tt class="docutils literal"><span class="pre">v0</span></tt> Module</a><ul> <li class="toctree-l2"><a class="reference internal" href="pylorax.api.html#module-pylorax.api.v0"><tt class="docutils literal"><span class="pre">v0</span></tt> Module</a><ul>
<li class="toctree-l3"><a class="reference internal" href="pylorax.api.html#status-responses">Status Responses</a></li> <li class="toctree-l3"><a class="reference internal" href="pylorax.api.html#status-responses">Status Responses</a></li>
<li class="toctree-l3"><a class="reference internal" href="pylorax.api.html#api-routes">API Routes</a><ul> <li class="toctree-l3"><a class="reference internal" href="pylorax.api.html#api-routes">API Routes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-test"><cite>/api/v0/test</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-blueprints-list"><cite>/api/v0/blueprints/list</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-status"><cite>/api/v0/status</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-blueprints-info-blueprint-names"><cite>/api/v0/blueprints/info/&lt;blueprint_names&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-recipes-list"><cite>/api/v0/recipes/list</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-blueprints-changes-blueprint-names-offset-0-limit-20"><cite>/api/v0/blueprints/changes/&lt;blueprint_names&gt;[?offset=0&amp;limit=20]</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-recipes-info-recipe-names"><cite>/api/v0/recipes/info/&lt;recipe_names&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-blueprints-new">POST <cite>/api/v0/blueprints/new</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-recipes-changes-recipe-names-offset-0-limit-20"><cite>/api/v0/recipes/changes/&lt;recipe_names&gt;[?offset=0&amp;limit=20]</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-blueprints-delete-blueprint-name">DELETE <cite>/api/v0/blueprints/delete/&lt;blueprint_name&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-recipes-new">POST <cite>/api/v0/recipes/new</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-blueprints-workspace">POST <cite>/api/v0/blueprints/workspace</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-recipes-delete-recipe-name">DELETE <cite>/api/v0/recipes/delete/&lt;recipe_name&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-blueprints-workspace-blueprint-name">DELETE <cite>/api/v0/blueprints/workspace/&lt;blueprint_name&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-recipes-workspace">POST <cite>/api/v0/recipes/workspace</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-blueprints-undo-blueprint-name-commit">POST <cite>/api/v0/blueprints/undo/&lt;blueprint_name&gt;/&lt;commit&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-recipes-workspace-recipe-name">DELETE <cite>/api/v0/recipes/workspace/&lt;recipe_name&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-blueprints-tag-blueprint-name">POST <cite>/api/v0/blueprints/tag/&lt;blueprint_name&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-recipes-undo-recipe-name-commit">POST <cite>/api/v0/recipes/undo/&lt;recipe_name&gt;/&lt;commit&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-blueprints-diff-blueprint-name-from-commit-to-commit"><cite>/api/v0/blueprints/diff/&lt;blueprint_name&gt;/&lt;from_commit&gt;/&lt;to_commit&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#post-api-v0-recipes-tag-recipe-name">POST <cite>/api/v0/recipes/tag/&lt;recipe_name&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-blueprints-freeze-blueprint-names"><cite>/api/v0/blueprints/freeze/&lt;blueprint_names&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-recipes-diff-recipe-name-from-commit-to-commit"><cite>/api/v0/recipes/diff/&lt;recipe_name&gt;/&lt;from_commit&gt;/&lt;to_commit&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-blueprints-depsolve-blueprint-names"><cite>/api/v0/blueprints/depsolve/&lt;blueprint_names&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-recipes-freeze-recipe-names"><cite>/api/v0/recipes/freeze/&lt;recipe_names&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-recipes-depsolve-recipe-names"><cite>/api/v0/recipes/depsolve/&lt;recipe_names&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-projects-list-offset-0-limit-20"><cite>/api/v0/projects/list[?offset=0&amp;limit=20]</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-projects-list-offset-0-limit-20"><cite>/api/v0/projects/list[?offset=0&amp;limit=20]</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-projects-info-project-names"><cite>/api/v0/projects/info/&lt;project_names&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-projects-info-project-names"><cite>/api/v0/projects/info/&lt;project_names&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-projects-depsolve-project-names"><cite>/api/v0/projects/depsolve/&lt;project_names&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-projects-depsolve-project-names"><cite>/api/v0/projects/depsolve/&lt;project_names&gt;</cite></a></li>
@ -1503,7 +1501,7 @@ image is built with the filename &#8220;${prefix}-${kernel.version}.img&#8221;</
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-finished"><cite>/api/v0/compose/finished</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-finished"><cite>/api/v0/compose/finished</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-failed"><cite>/api/v0/compose/failed</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-failed"><cite>/api/v0/compose/failed</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-status-uuids"><cite>/api/v0/compose/status/&lt;uuids&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-status-uuids"><cite>/api/v0/compose/status/&lt;uuids&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-recipes-cancel-uuid">DELETE <cite>/api/v0/recipes/cancel/&lt;uuid&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-blueprints-cancel-uuid">DELETE <cite>/api/v0/blueprints/cancel/&lt;uuid&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-compose-delete-uuids">DELETE <cite>/api/v0/compose/delete/&lt;uuids&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#delete-api-v0-compose-delete-uuids">DELETE <cite>/api/v0/compose/delete/&lt;uuids&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-info-uuid"><cite>/api/v0/compose/info/&lt;uuid&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-info-uuid"><cite>/api/v0/compose/info/&lt;uuid&gt;</cite></a></li>
<li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-metadata-uuid"><cite>/api/v0/compose/metadata/&lt;uuid&gt;</cite></a></li> <li class="toctree-l4"><a class="reference internal" href="pylorax.api.html#api-v0-compose-metadata-uuid"><cite>/api/v0/compose/metadata/&lt;uuid&gt;</cite></a></li>
@ -1599,7 +1597,7 @@ image is built with the filename &#8220;${prefix}-${kernel.version}.img&#8221;</
<li class="right" > <li class="right" >
<a href="composer.cli.html" title="cli Package" <a href="composer.cli.html" title="cli Package"
>previous</a> |</li> >previous</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
<li><a href="modules.html" >src</a> &raquo;</li> <li><a href="modules.html" >src</a> &raquo;</li>
</ul> </ul>
</div> </div>

View File

@ -8,7 +8,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search &mdash; Lorax 19.7.11 documentation</title> <title>Search &mdash; Lorax 19.7.14 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" /> <link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -16,7 +16,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '19.7.11', VERSION: '19.7.14',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
@ -26,7 +26,7 @@
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script> <script type="text/javascript" src="_static/searchtools.js"></script>
<link rel="top" title="Lorax 19.7.11 documentation" href="index.html" /> <link rel="top" title="Lorax 19.7.14 documentation" href="index.html" />
<script type="text/javascript"> <script type="text/javascript">
jQuery(function() { Search.loadIndex("searchindex.js"); }); jQuery(function() { Search.loadIndex("searchindex.js"); });
</script> </script>
@ -43,7 +43,7 @@
<li class="right" > <li class="right" >
<a href="py-modindex.html" title="Python Module Index" <a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
@ -94,7 +94,7 @@
<li class="right" > <li class="right" >
<a href="py-modindex.html" title="Python Module Index" <a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li> >modules</a> |</li>
<li><a href="index.html">Lorax 19.7.11 documentation</a> &raquo;</li> <li><a href="index.html">Lorax 19.7.14 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">

File diff suppressed because one or more lines are too long