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)
def _POST(self, *param, **params): if not validates_host_add(self): return web.badrequest(self.view.alert) uniq_key_check = findby1uniquekey(self.orm, self.input.m_uuid) if uniq_key_check is not None and config['application.uniqkey'] != self.input.m_uuid: return web.conflict(web.ctx.path) hostname_check = findby1hostname(self.orm, self.input.m_hostname) if hostname_check is not None: return web.conflict(web.ctx.path) # notebook note_title = None if is_param(self.input, "note_title"): note_title = self.input.note_title note_value = None if is_param(self.input, "note_value"): note_value = self.input.note_value _notebook = n_new(note_title, note_value) # tags _tags = None 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)) uniq_key = self.input.m_uuid name = self.input.m_name hostname = self.input.m_hostname model = findby1uniquekey(self.orm, uniq_key, is_deleted = True) if model is None: host = m_new(created_user=self.me, modified_user=self.me, uniq_key=uni_force(uniq_key), name=name, hostname=hostname, attribute=MACHINE_ATTRIBUTE['HOST'], hypervisor=MACHINE_HYPERVISOR['REAL'], notebook=_notebook, tags=_tags, icon=None, is_deleted=False) m_save(self.orm, host) return web.created(None) else: model.name = name model.hostname = hostname model.uniq_key = uniq_key model.notebook.title = note_title model.notebook.value = note_value model.tags = _tags model.is_deleted = False m_update(self.orm, model) return web.created(None)
def _POST(self, *param, **params): if not validates_host_add(self): return web.badrequest(self.view.alert) if self.input.m_connect_type == "karesansui": uniq_key_check = findby1uniquekey(self.orm, self.input.m_uuid) if uniq_key_check is not None and config['application.uniqkey'] != self.input.m_uuid: return web.conflict(web.ctx.path) hostname_check = findby1hostname(self.orm, self.input.m_hostname) if hostname_check is not None: return web.conflict(web.ctx.path) # notebook note_title = None if is_param(self.input, "note_title"): note_title = self.input.note_title note_value = None if is_param(self.input, "note_value"): note_value = self.input.note_value _notebook = n_new(note_title, note_value) # tags _tags = None 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)) name = self.input.m_name if self.input.m_connect_type == "karesansui": uniq_key = self.input.m_uuid attribute = MACHINE_ATTRIBUTE['HOST'] if is_param(self.input, "m_hostname"): hostname = self.input.m_hostname if self.input.m_connect_type == "libvirt": uniq_key = string_from_uuid(generate_uuid()) 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 hostname = uri_join(segs) model = findby1uniquekey(self.orm, uniq_key, is_deleted = True) if model is None: host = m_new(created_user=self.me, modified_user=self.me, uniq_key=uni_force(uniq_key), name=name, hostname=hostname, attribute=attribute, hypervisor=MACHINE_HYPERVISOR['REAL'], notebook=_notebook, tags=_tags, icon=None, is_deleted=False) m_save(self.orm, host) return web.created(None) else: model.name = name model.hostname = hostname model.uniq_key = uniq_key model.notebook.title = note_title model.notebook.value = note_value model.tags = _tags model.is_deleted = False m_update(self.orm, model) return web.created(None)