def clone_and_edit_jhchoi(request_prepid_to_clone, fragment, dataset_name, notes, total_events, generators): mcm = McM(dev=False) modifications = { 'fragment': fragment, 'dataset_name': dataset_name, 'notes': notes, 'total_events': total_events, "generators": generators } #request_prepid_to_clone = "SUS-RunIIWinter15wmLHE-00040" request = mcm.get('requests', request_prepid_to_clone) for key in modifications: request[key] = modifications[key] clone_answer = mcm.clone_request(request) if clone_answer.get('results'): print "@@" new_prepid = clone_answer['prepid'] print('Clone PrepID: %s' % (clone_answer['prepid'])) new_request = mcm.get('requests', new_prepid) print new_request['dataset_name'] mcm.approve('requests', new_prepid, None) print "---" f = open('success.txt', 'a') f.write(new_prepid + "\n") f.close() else: print('Something went wrong while cloning a request. %s' % (dumps(clone_answer))) f = open('fail.txt', 'a') f.write(dataset_name + "\n") f.close()
# If member_of_campaign is different, it will clone to other campaign campaign_modifications = {'member_of_campaign': 'RunIIFall18GS'} for request_prepid_to_clone in requests_to_clone: print('Cloning and modifying {0}'.format(request_prepid_to_clone)) # Get a request object which we want to clone request = mcm.get('requests', request_prepid_to_clone) # Make predefined modifications for key in campaign_modifications: request[key] = campaign_modifications[key] #clone request and print error if it fails clone_answer = mcm.clone_request(request) if clone_answer.get('results'): pass else: print('Something went wrong while cloning a request. %s' % (dumps(clone_answer))) #write new prepid to file f.write(clone_answer['prepid'] + '\n') #modify and update cloned request #note that these modifications must be done after cloning since they might otherwise be reset cloned_request = mcm.get('requests', clone_answer['prepid']) total_events = request['total_events']