def check_experiment_id(args):
    '''check if the id is valid
    '''
    update_experiment()
    experiment_config = Experiments()
    experiment_dict = experiment_config.get_all_experiments()
    if not experiment_dict:
        print_normal('There is no experiment running...')
        return None
    if not args.id:
        running_experiment_list = []
        for key in experiment_dict.keys():
            if isinstance(experiment_dict[key], dict):
                if experiment_dict[key].get('status') != 'STOPPED':
                    running_experiment_list.append(key)
            elif isinstance(experiment_dict[key], list):
                # if the config file is old version, remove the configuration from file
                experiment_config.remove_experiment(key)
        if len(running_experiment_list) > 1:
            print_error('There are multiple experiments, please set the experiment id...')
            experiment_information = ""
            for key in running_experiment_list:
                experiment_information += (EXPERIMENT_DETAIL_FORMAT % (key, experiment_dict[key]['status'], \
                experiment_dict[key]['port'], experiment_dict[key].get('platform'), experiment_dict[key]['startTime'], experiment_dict[key]['endTime']))
            print(EXPERIMENT_INFORMATION_FORMAT % experiment_information)
            exit(1)
        elif not running_experiment_list:
            print_error('There is no experiment running!')
            return None
        else:
            return running_experiment_list[0]
    if experiment_dict.get(args.id):
        return args.id
    else:
        print_error('Id not correct!')
        return None
def check_experiment_id ( args ) : update_experiment ( ) experiment_config = Experiments ( ) experiment_dict = experiment_config . get_all_experiments ( ) if not experiment_dict : print_normal ( 'There is no experiment running...' ) return None if not args . id : running_experiment_list = [ ] for key in experiment_dict . keys ( ) : if isinstance ( experiment_dict [ key ] , dict ) : if experiment_dict [ key ] . get ( 'status' ) != 'STOPPED' : running_experiment_list . append ( key ) elif isinstance ( experiment_dict [ key ] , list ) : experiment_config . remove_experiment ( key ) if len ( running_experiment_list ) > 1 : print_error ( 'There are multiple experiments, please set the experiment id...' ) experiment_information = "" for key in running_experiment_list : experiment_information += ( EXPERIMENT_DETAIL_FORMAT % ( key , experiment_dict [ key ] [ 'status' ] , experiment_dict [ key ] [ 'port' ] , experiment_dict [ key ] . get ( 'platform' ) , experiment_dict [ key ] [ 'startTime' ] , experiment_dict [ key ] [ 'endTime' ] ) ) print ( EXPERIMENT_INFORMATION_FORMAT % experiment_information ) exit ( 1 ) elif not running_experiment_list : print_error ( 'There is no experiment running!' ) return None else : return running_experiment_list [ 0 ] if experiment_dict . get ( args . id ) : return args . id else : print_error ( 'Id not correct!' ) return None
check if the id is valid