

@web.asynchronous
@gen.engine
def put(self, *args, **kwargs):
    'Handle updates of an item.\n\n        :param args:\n        :param kwargs:\n\n        '
    self.initialize_put(kwargs.get('id'))
    if (not self.has_update_permission()):
        self.set_status(403, self.status_message('Creation Forbidden'))
        self.finish()
        return
    for (key, value) in self.model.items():
        if (self.json_arguments.get(key) != value):
            self.model.set(key, self.json_arguments.get(key))
    if (not self.model.dirty):
        self.set_status(431, self.status_message('No changes made'))
        self.finish(self.model.as_dict())
        return
    result = (yield self.model.save())
    if result:
        self.set_status(200, self.status_message('Updated'))
    else:
        self.set_status(507, self.status_message('Update Failed'))
    self.add_headers()
    self.finish(self.model.as_dict())

dataset/ETHPy150Open gmr/tinman/tinman/handlers/mixins.py ModelAPIMixin.put/original