def put(self, agent_id): username = self.get_current_user() customer_name = get_current_customer_name(username) uri = self.request.uri method = self.request.method try: displayname = self.arguments.get('display_name', None) hostname = self.arguments.get('hostname', None) prod_level = self.arguments.get('production_level', None) new_customer = self.arguments.get('customer_name', None) agent = AgentManager(agent_id, customer_name=customer_name) if (displayname and not hostname and not prod_level and not new_customer): results = agent.displayname_changer(displayname, uri, method) elif (hostname and not prod_level and not displayname and not new_customer): results = agent.hostname_changer(hostname, uri, method) elif (prod_level and not hostname and not displayname and not new_customer): results = agent.production_state_changer(prod_level, uri, method) elif prod_level and hostname and displayname and not new_customer: agent_data = { 'host_name': hostname, 'production_level': prod_level, 'display_name': displayname } results = agent.update_fields(agent_data, uri, method) elif (new_customer and not prod_level and not hostname and not displayname): results = agent.change_customer(new_customer, uri, method) else: results = ( GenericResults( username, uri, method ).incorrect_arguments() ) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = ( GenericResults( username, uri, method ).something_broke(agent_id, 'modify agent', e) ) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))
def put(self, agent_id): username = self.get_current_user() customer_name = get_current_customer_name(username) uri = self.request.uri method = self.request.method try: displayname = self.arguments.get('display_name', None) hostname = self.arguments.get('hostname', None) prod_level = self.arguments.get('production_level', None) new_customer = self.arguments.get('customer_name', None) agent = AgentManager(agent_id, customer_name=customer_name) if (displayname and not hostname and not prod_level and not new_customer): results = agent.displayname_changer(displayname, uri, method) elif (hostname and not prod_level and not displayname and not new_customer): results = agent.hostname_changer(hostname, uri, method) elif (prod_level and not hostname and not displayname and not new_customer): results = agent.production_state_changer( prod_level, uri, method) elif prod_level and hostname and displayname and not new_customer: agent_data = { 'host_name': hostname, 'production_level': prod_level, 'display_name': displayname } results = agent.update_fields(agent_data, uri, method) elif (new_customer and not prod_level and not hostname and not displayname): results = agent.change_customer(new_customer, uri, method) else: results = (GenericResults(username, uri, method).incorrect_arguments()) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4)) except Exception as e: results = (GenericResults(username, uri, method).something_broke( agent_id, 'modify agent', e)) logger.exception(e) self.set_status(results['http_status']) self.set_header('Content-Type', 'application/json') self.write(json.dumps(results, indent=4))