Python Eve изящно выходит из обратного вызова

Мне интересно, возможно ли обновить элемент без полной обработки запроса PATCH.
Что я пытаюсь сделать, так это случайным образом сгенерировать и вставить значение в базу данных, когда пользователь отправляет запрос PATCH на учетные записи/конечную точку.
Если я не выйду из запроса PATCH, я получу ошибка, потому что она ожидает значение, но я не могу указать его заранее, потому что оно будет сгенерировано случайным образом.

def pre_accounts_patch_callback(request, lookup):
        if not my_func():
            abort(401)
        else:
            return HTTP 201 OK

Что я могу сделать?


person polslinux    schedule 06.11.2014    source источник


Ответы (1)


Не уверен, что понимаю, чего вы хотите достичь, однако имейте в виду, что вы можете обновить lookup в своем обратном вызове, поэтому API вернется и обработает обновленную версию с проверкой и всем остальным.

import random

def pre_accounts_patch_callback(request, lookup):
    lookup['random_field'] = random.randint(0, 10)

app = Eve()
app.on_pre_PATCH_accounts += pre_accounts_patch_callback

if __name__ == '__main__':
    app.run()
person Nicola Iarocci    schedule 07.11.2014