Mela: асинхронный фреймворк на Python для сервисов, работающих с RabbitMQ
Easy
10 min
Review
WARNING: длинная вступительная часть. Если хотите перейти сразу к делу - листайте до Getting Started.
User
WARNING: длинная вступительная часть. Если хотите перейти сразу к делу - листайте до Getting Started.
@app.route('/ugly_calc', dont_wrap=True)
def ugly_calc():
x, y = int(request.args['x']), int(request.args['y'])
op_key = request.args.get('op')
if not op_key:
op_key = '+'
op = OPERATION.get(op_key)
return str(op(x, y))
@app.route('/calc')
def calc(x:Arg(int), y:Arg(int), op:Arg(str, default='+')):
return str(OPERATION[op](x, y))
OPERATION = {'+': lambda x, y: x+y,
'-': lambda x, y: x-y,
'*': lambda x, y: x*y,
'/': lambda x, y: x/y,
'^': lambda x, y: pow(x,y)}
@Endpoint
def calculate(x:Arg(int), y:Arg(int),
op:Arg(str, default='+', expander=OPERATION)):
return str(op(x,y))
def compile(source: "something compilable",
filename: "where the compilable thing comes from",
mode: "is this a single statement or a suite?"):
...