2018-03-16 23:41:16 +00:00
< !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" / >
2018-08-14 00:00:02 +00:00
< title > composer.cli.compose — Lorax 19.7.21 documentation< / title >
2018-03-16 23:41:16 +00:00
< 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: '../../../',
2018-08-14 00:00:02 +00:00
VERSION: '19.7.21',
2018-03-16 23:41:16 +00:00
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 >
2018-08-14 00:00:02 +00:00
< link rel = "top" title = "Lorax 19.7.21 documentation" href = "../../../index.html" / >
2018-03-16 23:41:16 +00:00
< 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 >
2018-08-14 00:00:02 +00:00
< li > < a href = "../../../index.html" > Lorax 19.7.21 documentation< / a > » < / li >
2018-03-16 23:41:16 +00:00
< li > < a href = "../../index.html" > Module code< / a > » < / li >
< li > < a href = "../cli.html" accesskey = "U" > composer.cli< / a > » < / li >
< / ul >
< / div >
< div class = "document" >
< div class = "documentwrapper" >
< div class = "bodywrapper" >
< div class = "body" >
< h1 > Source code for composer.cli.compose< / 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 < http://www.gnu.org/licenses/> .< / 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" > " composer-cli" < / span > < span class = "p" > )< / span >
2018-08-14 00:00:02 +00:00
< span class = "kn" > from< / span > < span class = "nn" > datetime< / span > < span class = "kn" > import< / span > < span class = "n" > datetime< / span >
2018-03-16 23:41:16 +00:00
< span class = "kn" > import< / span > < span class = "nn" > sys< / 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 >
2018-06-29 20:46:27 +00:00
< span class = "kn" > from< / span > < span class = "nn" > composer.cli.help< / span > < span class = "kn" > import< / span > < span class = "n" > compose_help< / span >
2018-03-16 23:41:16 +00:00
< 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" > handle_api_result< / span > < span class = "p" > ,< / span > < span class = "n" > packageNEVRA< / span >
< div class = "viewcode-block" id = "compose_cmd" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_cmd" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_cmd< / span > < span class = "p" > (< / span > < span class = "n" > opts< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Process compose 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 compose commands to a function< / span >
< span class = "sd" > " " " < / span >
< span class = "n" > cmd_map< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
2018-08-14 00:00:02 +00:00
< span class = "s" > " list" < / span > < span class = "p" > :< / span > < span class = "n" > compose_list< / span > < span class = "p" > ,< / span >
2018-03-16 23:41:16 +00:00
< span class = "s" > " status" < / span > < span class = "p" > :< / span > < span class = "n" > compose_status< / span > < span class = "p" > ,< / span >
< span class = "s" > " types" < / span > < span class = "p" > :< / span > < span class = "n" > compose_types< / span > < span class = "p" > ,< / span >
< span class = "s" > " start" < / span > < span class = "p" > :< / span > < span class = "n" > compose_start< / span > < span class = "p" > ,< / span >
< span class = "s" > " log" < / span > < span class = "p" > :< / span > < span class = "n" > compose_log< / span > < span class = "p" > ,< / span >
< span class = "s" > " cancel" < / span > < span class = "p" > :< / span > < span class = "n" > compose_cancel< / span > < span class = "p" > ,< / span >
< span class = "s" > " delete" < / span > < span class = "p" > :< / span > < span class = "n" > compose_delete< / span > < span class = "p" > ,< / span >
< span class = "s" > " details" < / span > < span class = "p" > :< / span > < span class = "n" > compose_details< / span > < span class = "p" > ,< / span >
< span class = "s" > " metadata" < / span > < span class = "p" > :< / span > < span class = "n" > compose_metadata< / span > < span class = "p" > ,< / span >
< span class = "s" > " results" < / span > < span class = "p" > :< / span > < span class = "n" > compose_results< / span > < span class = "p" > ,< / span >
< span class = "s" > " logs" < / span > < span class = "p" > :< / span > < span class = "n" > compose_logs< / span > < span class = "p" > ,< / span >
< span class = "s" > " image" < / span > < span class = "p" > :< / span > < span class = "n" > compose_image< / span > < span class = "p" > ,< / span >
< span class = "p" > }< / span >
2018-08-14 00:00:02 +00:00
< 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 = "o" > ==< / span > < span class = "s" > " help" < / span > < span class = "ow" > or< / 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 = "o" > ==< / span > < span class = "s" > " --help" < / span > < span class = "p" > :< / span >
2018-06-29 20:46:27 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "n" > compose_help< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
< span class = "k" > elif< / 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 >
2018-03-16 23:41:16 +00:00
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s" > " Unknown compose command: < / span > < span class = "si" > %s< / span > < span class = "s" > " < / 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 > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > testmode< / span > < span class = "p" > )< / span >
< / div >
2018-08-14 00:00:02 +00:00
< div class = "viewcode-block" id = "compose_list" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_list" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_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 = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Return a simple list of compose identifiers" " " < / span >
< span class = "n" > states< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "s" > " running" < / span > < span class = "p" > ,< / span > < span class = "s" > " waiting" < / span > < span class = "p" > ,< / span > < span class = "s" > " finished" < / span > < span class = "p" > ,< / span > < span class = "s" > " failed" < / span > < span class = "p" > )< / span >
< span class = "n" > which< / span > < span class = "o" > =< / span > < span class = "nb" > set< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span > < span class = "n" > a< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > states< / span > < span class = "k" > for< / span > < span class = "n" > a< / span > < span class = "ow" > in< / span > < span class = "n" > args< / span > < span class = "p" > ):< / span >
< span class = "c" > # TODO: error about unknown state< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "k" > elif< / span > < span class = "ow" > not< / span > < span class = "n" > args< / span > < span class = "p" > :< / span >
< span class = "n" > which< / span > < span class = "o" > .< / span > < span class = "n" > update< / span > < span class = "p" > (< / span > < span class = "n" > states< / span > < span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > which< / span > < span class = "o" > .< / span > < span class = "n" > update< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span >
< span class = "n" > results< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "k" > if< / span > < span class = "s" > " running" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "ow" > or< / span > < span class = "s" > " waiting" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / 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" > " /compose/queue" < / span > < span class = "p" > )< / span >
< span class = "n" > r< / 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 = "s" > " running" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s" > " run" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "s" > " waiting" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s" > " new" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "s" > " finished" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / 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" > " /compose/finished" < / span > < span class = "p" > )< / span >
< span class = "n" > r< / 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 = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s" > " finished" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "s" > " failed" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / 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" > " /compose/failed" < / span > < span class = "p" > )< / span >
< span class = "n" > r< / 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 = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s" > " failed" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "n" > results< / 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" > results< / 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 = "n" > list_fmt< / span > < span class = "o" > =< / span > < span class = "s" > " {id} {queue_status} {blueprint} {version} {compose_type}" < / span >
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " < / span > < span class = "se" > \n< / span > < span class = "s" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > list_fmt< / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > c< / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "n" > results< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
< / div >
2018-03-16 23:41:16 +00:00
< div class = "viewcode-block" id = "compose_status" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_status" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_status< / 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" > " " " Return the status of all known composes< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > This doesn' 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" > " " " < / 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" > " id" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s" > " id" < / span > < span class = "p" > ],< / span >
2018-04-25 20:25:07 +00:00
< span class = "s" > " blueprint" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s" > " blueprint" < / span > < span class = "p" > ],< / span >
2018-03-16 23:41:16 +00:00
< span class = "s" > " version" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s" > " version" < / span > < span class = "p" > ],< / span >
2018-04-25 20:25:07 +00:00
< span class = "s" > " compose_type" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s" > " compose_type" < / span > < span class = "p" > ],< / span >
< span class = "s" > " image_size" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s" > " image_size" < / span > < span class = "p" > ],< / span >
2018-08-14 00:00:02 +00:00
< span class = "s" > " status" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s" > " queue_status" < / span > < span class = "p" > ],< / span >
< span class = "s" > " created" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s" > " job_created" < / span > < span class = "p" > ),< / span >
< span class = "s" > " started" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s" > " job_started" < / span > < span class = "p" > ),< / span >
< span class = "s" > " finished" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s" > " job_finished" < / span > < span class = "p" > )}< / span >
2018-03-16 23:41:16 +00:00
< 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 = "n" > order< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s" > " RUNNING" < / span > < span class = "p" > ,< / span > < span class = "s" > " WAITING" < / span > < span class = "p" > ,< / span > < span class = "s" > " FINISHED" < / span > < span class = "p" > ,< / span > < span class = "s" > " FAILED" < / span > < span class = "p" > ]< / span >
2018-04-25 20:25:07 +00:00
< 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" > " status" < / span > < span class = "p" > ]),< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s" > " blueprint" < / span > < span class = "p" > ],< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s" > " version" < / span > < span class = "p" > ],< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s" > " compose_type" < / span > < span class = "p" > ])< / span >
2018-03-16 23:41:16 +00:00
< span class = "n" > status< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "c" > # Get the composes currently in the queue< / 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" > " /compose/queue" < / 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 = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "nb" > map< / span > < span class = "p" > (< / span > < span class = "n" > get_status< / span > < span class = "p" > ,< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " run" < / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " new" < / span > < span class = "p" > ]))< / span >
< span class = "c" > # Get the list of finished composes< / 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" > " /compose/finished" < / 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 = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "nb" > map< / span > < span class = "p" > (< / span > < span class = "n" > get_status< / span > < span class = "p" > ,< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " finished" < / span > < span class = "p" > ]))< / span >
< span class = "c" > # Get the list of failed composes< / 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" > " /compose/failed" < / 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 = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "nb" > map< / span > < span class = "p" > (< / span > < span class = "n" > get_status< / span > < span class = "p" > ,< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " failed" < / span > < span class = "p" > ]))< / span >
< span class = "c" > # Sort them by status (running, waiting, finished, failed) and then by name and version.< / span >
< span class = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > sort< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "o" > =< / span > < span class = "n" > sort_status< / 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" > 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 >
2018-04-25 20:25:07 +00:00
< span class = "c" > # Print them as UUID blueprint STATUS< / span >
2018-03-16 23:41:16 +00:00
< span class = "k" > for< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "n" > status< / span > < span class = "p" > :< / span >
2018-04-25 20:25:07 +00:00
< span class = "k" > if< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s" > " image_size" < / span > < span class = "p" > ]< / span > < span class = "o" > > < / 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" > " image_size" < / 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" > " " < / span >
2018-08-14 00:00:02 +00:00
< span class = "n" > dt< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > fromtimestamp< / span > < span class = "p" > (< / span > < span class = "n" > c< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s" > " finished" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "n" > c< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s" > " started" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "n" > c< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s" > " created" < / span > < span class = "p" > ))< / span >
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " < / span > < span class = "si" > %s< / span > < span class = "s" > < / span > < span class = "si" > %-8s< / span > < span class = "s" > < / span > < span class = "si" > %s< / 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" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s" > " id" < / span > < span class = "p" > ],< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s" > " status" < / span > < span class = "p" > ],< / span > < span class = "n" > dt< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s" > " < / span > < span class = "si" > %c< / span > < span class = "s" > " < / span > < span class = "p" > ),< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s" > " blueprint" < / span > < span class = "p" > ],< / span >
< span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s" > " version" < / span > < span class = "p" > ],< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s" > " compose_type" < / span > < span class = "p" > ],< / span > < span class = "n" > image_size< / span > < span class = "p" > ))< / span >
2018-03-16 23:41:16 +00:00
< / div >
2018-04-25 20:25:07 +00:00
< 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 >
2018-03-16 23:41:16 +00:00
< span class = "sd" > " " " 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" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< 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" > " " " < / 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" > " /compose/types" < / 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 >
2018-08-14 00:00:02 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " < / span > < span class = "se" > \n< / span > < span class = "s" > " < / 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" > " name" < / 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" > " types" < / span > < span class = "p" > ]))< / span >
2018-03-16 23:41:16 +00:00
< / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > " " " Start a new compose using the selected blueprint and type< / span >
2018-03-16 23:41:16 +00:00
< 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< 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 >
2018-03-16 23:41:16 +00:00
2018-04-25 20:25:07 +00:00
< span class = "sd" > compose start < blueprint-name> < compose-type> < / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > " " " < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s" > " start is missing the blueprint name and output type" < / span > < span class = "p" > )< / span >
2018-03-16 23:41:16 +00:00
< 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 = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s" > " start is missing the output type" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > config< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
2018-04-25 20:25:07 +00:00
< span class = "s" > " blueprint_name" < / span > < span class = "p" > :< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span >
2018-03-16 23:41:16 +00:00
< span class = "s" > " compose_type" < / 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" > " branch" < / span > < span class = "p" > :< / span > < span class = "s" > " master" < / span >
< span class = "p" > }< / span >
< span class = "k" > if< / span > < span class = "n" > testmode< / span > < span class = "p" > :< / span >
< span class = "n" > test_url< / span > < span class = "o" > =< / span > < span class = "s" > " ?test=< / span > < span class = "si" > %d< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "n" > testmode< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > test_url< / span > < span class = "o" > =< / span > < span class = "s" > " " < / 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" > " /compose" < / span > < span class = "o" > +< / span > < span class = "n" > test_url< / 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_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 = "n" > json< / span > < span class = "o" > .< / span > < span class = "n" > dumps< / span > < span class = "p" > (< / span > < span class = "n" > config< / span > < span class = "p" > ))< / span >
2018-08-14 00:00:02 +00:00
< span class = "p" > (< / span > < span class = "n" > rc< / span > < span class = "p" > ,< / span > < span class = "n" > exit_now< / span > < span class = "p" > )< / span > < span class = "o" > =< / 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 = "k" > if< / span > < span class = "n" > exit_now< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-03-16 23:41:16 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " Compose < / span > < span class = "si" > %s< / span > < span class = "s" > added to the queue" < / span > < span class = "o" > %< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " build_id" < / span > < span class = "p" > ])< / span >
2018-08-14 00:00:02 +00:00
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_log" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_log" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_log< / 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" > " " " Show the last part of the compose log< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose log < uuid> [< size> kB]< / span >
< span class = "sd" > This will display the last 1kB of the compose' s log file. Can be used to follow progress< / span >
< span class = "sd" > during the build.< / span >
< span class = "sd" > " " " < / 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" > " log is missing the compose build id" < / span > < span class = "p" > )< / 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" > 2< / span > < span class = "p" > :< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > log_size< / span > < span class = "o" > =< / span > < span class = "nb" > int< / 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 = "k" > except< / span > < span class = "ne" > ValueError< / 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" > " Log size must be an integer." < / 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 = "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" > " /compose/log/< / span > < span class = "si" > %s< / span > < span class = "s" > ?size=< / span > < span class = "si" > %d< / span > < span class = "s" > " < / 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 >
2018-04-25 20:25:07 +00:00
< 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 = "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 >
2018-03-16 23:41:16 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > )< / span >
2018-04-25 20:25:07 +00:00
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
2018-03-16 23:41:16 +00:00
< / 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 >
< span class = "sd" > " " " Cancel a running compose< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose cancel < uuid> < / span >
< span class = "sd" > This will cancel a running compose. It does nothing if the compose has finished.< / span >
< span class = "sd" > " " " < / 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" > " cancel is missing the compose build id" < / 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" > " /compose/cancel/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / 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 >
2018-08-14 00:00:02 +00:00
< 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 > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_delete" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_delete" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_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 = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Delete a finished compose' s results< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose delete < uuid,...> < / span >
< span class = "sd" > Delete the listed compose results. It will only delete results for composes that have finished< / span >
< span class = "sd" > or failed, not a running compose.< / span >
< span class = "sd" > " " " < / 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" > " delete is missing the compose build id" < / 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" > " /compose/delete/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "s" > " ," < / 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" > 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 >
2018-08-14 00:00:02 +00:00
< 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 > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_details" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_details" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_details< / 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" > " " " Return detailed information about the compose< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose details < uuid> < / span >
2018-04-25 20:25:07 +00:00
< span class = "sd" > This returns information about the compose, including the blueprint and the dependencies.< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > " " " < / 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" > " details is missing the compose build id" < / 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" > " /compose/info/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / 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" > 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 >
2018-08-14 00:00:02 +00:00
< span class = "p" > (< / span > < span class = "n" > rc< / span > < span class = "p" > ,< / span > < span class = "n" > exit_now< / span > < span class = "p" > )< / span > < span class = "o" > =< / 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 = "k" > if< / span > < span class = "n" > exit_now< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-04-25 20:25:07 +00:00
< span class = "k" > if< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " image_size" < / span > < span class = "p" > ]< / span > < span class = "o" > > < / 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" > " image_size" < / 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" > " " < / span >
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " < / 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" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " id" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " queue_status" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s" > " name" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s" > " version" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " compose_type" < / span > < span class = "p" > ],< / span >
< span class = "n" > image_size< / span > < span class = "p" > ))< / span >
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " Packages:" < / 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" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s" > " packages" < / span > < span class = "p" > ]:< / span >
2018-03-16 23:41:16 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " < / span > < span class = "si" > %s< / span > < span class = "s" > -< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > [< / span > < span class = "s" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > p< / span > < span class = "p" > [< / span > < span class = "s" > " version" < / span > < span class = "p" > ]))< / span >
2018-04-25 20:25:07 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " Modules:" < / 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" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s" > " modules" < / span > < span class = "p" > ]:< / span >
2018-03-16 23:41:16 +00:00
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " < / span > < span class = "si" > %s< / span > < span class = "s" > -< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > m< / span > < span class = "p" > [< / span > < span class = "s" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > m< / span > < span class = "p" > [< / span > < span class = "s" > " version" < / span > < span class = "p" > ]))< / span >
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " Dependencies:" < / span > < span class = "p" > )< / span >
< span class = "k" > for< / span > < span class = "n" > d< / span > < span class = "ow" > in< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s" > " deps" < / span > < span class = "p" > ][< / span > < span class = "s" > " packages" < / span > < span class = "p" > ]:< / span >
< span class = "k" > print< / span > < span class = "p" > (< / span > < span class = "s" > " " < / span > < span class = "o" > +< / span > < span class = "n" > packageNEVRA< / span > < span class = "p" > (< / span > < span class = "n" > d< / span > < span class = "p" > ))< / span >
2018-08-14 00:00:02 +00:00
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_metadata" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_metadata" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_metadata< / 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" > " " " Download a tar file of the compose' s metadata< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose metadata < uuid> < / span >
< span class = "sd" > Saves the metadata as uuid-metadata.tar< / span >
< span class = "sd" > " " " < / 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" > " metadata is missing the compose build id" < / 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" > " /compose/metadata/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-14 00:00:02 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / 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 = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_results" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_results" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_results< / 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" > " " " Download a tar file of the compose' s results< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose results < uuid> < / span >
< span class = "sd" > The results includes the metadata, output image, and logs.< / span >
< span class = "sd" > It is saved as uuid.tar< / span >
< span class = "sd" > " " " < / 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" > " results is missing the compose build id" < / 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" > " /compose/results/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-14 00:00:02 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / 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" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > isatty< / 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 = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_logs" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_logs" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_logs< / 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" > " " " Download a tar of the compose' s logs< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose logs < uuid> < / span >
< span class = "sd" > Saves the logs as uuid-logs.tar< / span >
< span class = "sd" > " " " < / 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" > " logs is missing the compose build id" < / 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" > " /compose/logs/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-14 00:00:02 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / 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" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > isatty< / 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 = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-03-16 23:41:16 +00:00
< / div >
< div class = "viewcode-block" id = "compose_image" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_image" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_image< / 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" > " " " Download the compose' s output image< / 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. " 0" < / 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 >
2018-04-25 20:25:07 +00:00
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
2018-03-16 23:41:16 +00:00
< span class = "sd" > compose image < uuid> < / span >
< span class = "sd" > This downloads only the result image, saving it as the image name, which depends on the type< / span >
< span class = "sd" > of compose that was selected.< / span >
< span class = "sd" > " " " < / 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" > " logs is missing the compose build id" < / 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" > " /compose/image/< / span > < span class = "si" > %s< / span > < span class = "s" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-14 00:00:02 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / 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" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > isatty< / 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 = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-03-16 23:41:16 +00:00
< / 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 >
2018-08-14 00:00:02 +00:00
< li > < a href = "../../../index.html" > Lorax 19.7.21 documentation< / a > » < / li >
2018-03-16 23:41:16 +00:00
< li > < a href = "../../index.html" > Module code< / a > » < / li >
< li > < a href = "../cli.html" > composer.cli< / a > » < / li >
< / ul >
< / div >
< div class = "footer" >
© Copyright 2018, Red Hat, Inc..
Created using < a href = "http://sphinx.pocoo.org/" > Sphinx< / a > 1.1.3.
< / div >
< / body >
< / html >