def check_resources(args): invalid_resources = [] valid_resources = 0 for resource in args: valid_resource = resources.return_resource(resource) if valid_resource: valid_resources += 1 else: invalid_resources.append(resource) if valid_resources != len(args): error_object = [] error_object.append('Invalid resources specified:') error_object.append(invalid_resources) error_object.append('Please see yoda resources for available resources') raise yoda_kill(error_object) else: # we have valid resources return True
def grab(args): valid_switches = ['-c'] curl_links = {} zips = {} # check we have args if len(args['args']) < 1: error_object = [] error_object.append('No resource specified') raise yoda_kill(error_object) else: # check resources check_resources(args['args']) # get the curl links for resource in args['args']: curl_links[resource] = resources.return_resource(resource) # get name of each zip for key, value in curl_links.iteritems(): zips[key] = os.path.basename(value) # check if a switch was passed if args['switch']: # check if switch is valid if args['switch'] in valid_switches: print 'running code with switch: ' + args['switch'] curl_resource(curl_links) yoda_unzip(zips) run_config(args['args']) else: # invalid switch given error_object = [] error_object.append('Invalid switch specifed: ' + args['switch']) raise yoda_kill(error_object) # no switch passed else: print 'running without switch' curl_resource(curl_links) yoda_unzip(zips)