mirror of https://github.com/veops/cmdb.git
36 lines
838 B
Python
36 lines
838 B
Python
# -*- coding:utf-8 -*-
|
|
|
|
|
|
from functools import wraps
|
|
|
|
from flask import abort
|
|
from flask import request
|
|
|
|
|
|
def kwargs_required(*required_args):
|
|
def decorate(func):
|
|
@wraps(func)
|
|
def wrapper(*args, **kwargs):
|
|
for arg in required_args:
|
|
if arg not in kwargs:
|
|
return abort(400, "Argument <{0}> is required".format(arg))
|
|
return func(*args, **kwargs)
|
|
|
|
return wrapper
|
|
|
|
return decorate
|
|
|
|
|
|
def args_required(*required_args):
|
|
def decorate(func):
|
|
@wraps(func)
|
|
def wrapper(*args, **kwargs):
|
|
for arg in required_args:
|
|
if arg not in request.values:
|
|
return abort(400, "Argument <{0}> is required".format(arg))
|
|
return func(*args, **kwargs)
|
|
|
|
return wrapper
|
|
|
|
return decorate
|