<s> """<STR_LIT>""" <EOL> import argparse <EOL> import logging . config <EOL> import logging <EOL> from os import path <EOL> import sys <EOL> from houston import controller <EOL> from houston import DEBUG_CONFIG <EOL> from houston import LOG_CONFIG <EOL> LOGGER = logging . getLogger ( __name__ ) <EOL> DESC = '<STR_LIT>' <EOL> class CLI ( object ) : <EOL> def __init__ ( self ) : <EOL> self . _parser = self . _create_parser ( ) <EOL> def run ( self ) : <EOL> args = self . _parser . parse_args ( ) <EOL> if args . verbose : <EOL> logging . config . dictConfig ( DEBUG_CONFIG ) <EOL> else : <EOL> logging . config . dictConfig ( LOG_CONFIG ) <EOL> if not args . command : <EOL> sys . stderr . write ( '<STR_LIT>' ) <EOL> self . _parser . print_help ( ) <EOL> sys . exit ( <NUM_LIT:1> ) <EOL> args_dict = vars ( args ) <EOL> for key in [ '<STR_LIT:name>' , '<STR_LIT:version>' ] : <EOL> if key in args_dict : <EOL> args_dict [ key ] = args_dict [ key ] [ <NUM_LIT:0> ] <EOL> obj = controller . Controller ( args . config_dir , args . environment , <EOL> args . command , <EOL> args_dict . get ( '<STR_LIT:name>' ) , <EOL> args_dict . get ( '<STR_LIT>' ) , <EOL> args_dict . get ( '<STR_LIT:version>' ) , <EOL> args . delay , args . max_tries , <EOL> args . no_dependencies , <EOL> args . no_removal , <EOL> args . skip_consul , <EOL> args . remove ) <EOL> if obj . run ( ) : <EOL> LOGGER . info ( '<STR_LIT>' ) <EOL> else : <EOL> LOGGER . info ( '<STR_LIT>' ) <EOL> sys . exit ( <NUM_LIT:2> ) <EOL> @ staticmethod <EOL> def _create_parser ( ) : <EOL> parser = argparse . ArgumentParser ( description = DESC ) <EOL> parser . add_argument ( '<STR_LIT:-c>' , '<STR_LIT>' , <EOL> default = path . abspath ( '<STR_LIT:.>' ) , <EOL> help = '<STR_LIT>' <EOL> '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , required = True , <EOL> help = '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , action = '<STR_LIT:store>' , type = int , <EOL> help = '<STR_LIT>' <EOL> '<STR_LIT>' , default = <NUM_LIT:5> ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , action = '<STR_LIT:store>' , <EOL> help = '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , action = '<STR_LIT:store>' , type = int , <EOL> help = '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> default = <NUM_LIT:15> ) <EOL> parser . add_argument ( '<STR_LIT>' , action = '<STR_LIT:store_true>' , <EOL> help = '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , action = '<STR_LIT:store_true>' , <EOL> help = '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , action = '<STR_LIT:store_true>' , <EOL> help = '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , action = '<STR_LIT:store_true>' , <EOL> help = '<STR_LIT>' ) <EOL> parser . add_argument ( '<STR_LIT>' , '<STR_LIT>' , action = '<STR_LIT:store_true>' ) <EOL> sparser = parser . add_subparsers ( title = '<STR_LIT>' , dest = '<STR_LIT>' ) <EOL> sparser . add_parser ( '<STR_LIT>' , help = '<STR_LIT>' ) <EOL> s_parser = sparser . add_parser ( '<STR_LIT>' , <EOL> help = '<STR_LIT>' ) <EOL> s_parser . add_argument ( '<STR_LIT:name>' , nargs = <NUM_LIT:1> , <EOL> help = '<STR_LIT>' ) <EOL> s_parser . add_argument ( '<STR_LIT:version>' , nargs = <NUM_LIT:1> , <EOL> help = '<STR_LIT>' ) <EOL> sa_parser = sparser . add_parser ( '<STR_LIT>' , <EOL> help = '<STR_LIT>' ) <EOL> sa_parser . add_argument ( '<STR_LIT:name>' , nargs = <NUM_LIT:1> , <EOL> help = '<STR_LIT>' ) <EOL> return parser <EOL> def run ( ) : <EOL> CLI ( ) . run ( ) </s>
