>fzddlZddlZddlmZddlmZmZddlmZm Z ddl m Z ddl m Z Gdde Zd Zd Zy) N) OrderedDict)AnyOptional) exceptionsmessages)AbstractProgress)call_apic 0eZdZdededeedeefdZy)CLIAPIProgress total_steps done_stepsprevious_step_messagecurrent_step_messagec|t}||d<||d<||d<||d<ttj|y)Nr r rr)rprintjsondumps)selfr r rrds 6/usr/lib/python3/dist-packages/uaclient/cli/cli_api.pyprogresszCLIAPIProgress.progress sD M&-$,%: !"$8 ! djjmN)__name__ __module__ __qualname__intrstrrrrr r s7    (}  'sm rr c |jr |jrtj|jrP|jdk(rAtj j s#tj j|_|jr t}nd}t|j|j|j||}t|j|jdk(rdSdS)N-successr)optionsdatarCLIAPIOptionsXORDatasysstdinisattyread show_progressr r endpoint_pathrto_jsonresult)argscfgkwargsrr-s r action_apir1s || --// yyTYY#%yy! (DI !#  DLL$))S(F &..  *111rc|jdtj}d|_tj|_|j ddtj|j ddtj|j d d gd tj |j d ddtj|jt|S)z5Build or extend an arg parser for the api subcommand.api)helpr+endpoint)metavarr4z--show-progress store_true)actionr4z--argsr#*)destdefaultnargsr4z--datar$)r:r;r4)r8) add_parserr CLI_ROOT_APIprog CLI_API_DESC description add_argumentCLI_API_ENDPOINTCLI_API_SHOW_PROGRESS CLI_API_ARGS CLI_API_DATA set_defaultsr1) subparsersr/parsers rr>r>0s  " "5x/D/D " EFFK!..F (2K2K   + +     " "  vr0E0E z* Mr)rr& collectionsrtypingrruaclientrr uaclient.apiruaclient.api.apir r r1r>rrrrPs1 # ))%%"2(r