

@auth
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)):
        params.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_filename = None
    if is_param(self.input, 'icon_filename', empty=True):
        host.icon = self.input.icon_filename
    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)

dataset/ETHPy150Open karesansui/karesansui/karesansui/gadget/hostby1.py HostBy1._PUT/VarMisuse@127/180 `self`->`params`