def _PUT(self, *param, **params): host_id = self.chk_hostby1(param) if host_id is None: return web.notfound() if not validates_host_edit(self): self.logger.debug("Update Host OS is failed, Invalid input value.") return web.badrequest(self.view.alert) host = findbyhost1(self.orm, host_id) cmp_host = findby1name(self.orm, self.input.m_name) if cmp_host is not None and int(host_id) != cmp_host.id: self.logger.debug("Update Host OS is failed, " "Already exists name" "- %s, %s" % (host, cmp_host)) return web.conflict(web.ctx.path) hostname_check = findby1hostname(self.orm, self.input.m_hostname) if hostname_check is not None and int(host_id) != hostname_check.id: return web.conflict(web.ctx.path) if is_param(self.input, "m_hostname"): host.hostname = self.input.m_hostname if is_param(self.input, "note_title"): host.notebook.title = self.input.note_title if is_param(self.input, "note_value"): host.notebook.value = self.input.note_value if is_param(self.input, "m_name"): host.name = self.input.m_name # Icon icon_filename = None if is_param(self.input, "icon_filename", empty=True): host.icon = self.input.icon_filename # tag UPDATE if is_param(self.input, "tags"): _tags = [] tag_array = comma_split(self.input.tags) tag_array = uniq_sort(tag_array) for x in tag_array: if t_count(self.orm, x) == 0: _tags.append(t_new(x)) else: _tags.append(t_name(self.orm, x)) host.tags = _tags host.modified_user = self.me m_update(self.orm, host) return web.seeother(web.ctx.path)
def _PUT(self, *param, **params): host_id = self.chk_hostby1(param) if host_id is None: return web.notfound() if not validates_host_edit(self): self.logger.debug("Update Host OS is failed, Invalid input value.") return web.badrequest(self.view.alert) host = findbyhost1(self.orm, host_id) cmp_host = findby1name(self.orm, self.input.m_name) if cmp_host is not None and int(host_id) != cmp_host.id: self.logger.debug("Update Host OS is failed, " "Already exists name" "- %s, %s" % (host, cmp_host)) return web.conflict(web.ctx.path) if self.input.m_connect_type == "karesansui": hostname_check = findby1hostname(self.orm, self.input.m_hostname) if hostname_check is not None and int( host_id) != hostname_check.id: return web.conflict(web.ctx.path) if self.input.m_connect_type == "karesansui": host.attribute = MACHINE_ATTRIBUTE['HOST'] if is_param(self.input, "m_hostname"): host.hostname = self.input.m_hostname if self.input.m_connect_type == "libvirt": host.attribute = MACHINE_ATTRIBUTE['URI'] if is_param(self.input, "m_uri"): segs = uri_split(self.input.m_uri) if is_param(self.input, "m_auth_user") and self.input.m_auth_user: segs["user"] = self.input.m_auth_user if is_param(self.input, "m_auth_passwd") and self.input.m_auth_passwd: segs["passwd"] = self.input.m_auth_passwd host.hostname = uri_join(segs) if is_param(self.input, "note_title"): host.notebook.title = self.input.note_title if is_param(self.input, "note_value"): host.notebook.value = self.input.note_value if is_param(self.input, "m_name"): host.name = self.input.m_name # Icon icon_filename = None if is_param(self.input, "icon_filename", empty=True): host.icon = self.input.icon_filename # tag UPDATE if is_param(self.input, "tags"): _tags = [] tag_array = comma_split(self.input.tags) tag_array = uniq_sort(tag_array) for x in tag_array: if t_count(self.orm, x) == 0: _tags.append(t_new(x)) else: _tags.append(t_name(self.orm, x)) host.tags = _tags host.modified_user = self.me m_update(self.orm, host) return web.seeother(web.ctx.path)