python синтаксическая ошибка сервера торнадо при определении маршрута - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь запустить сервер торнадо с обработчиком basi c, но все время получаю эту ошибку:

:~/apps/pythonx$ python run_service.py
Traceback (most recent call last):
  File "run_service.py", line 9, in <module>
    from service.handlers.usersHandler import UsersListHandler
  File "/home/rodrigo/apps/pythonx/service/handlers/usersHandler.py", line 6
    async def get(self):
            ^
SyntaxError: invalid syntax

Мой основной файл выглядит так:

import functools
import os # get environmental variables

import tornado.web
import tornado.ioloop
import motor.motor_tornado
import tornado.httpserver

from service.handlers.usersHandler import UsersListHandler


def make_app(config):
    return tornado.web.Application([
        ("/api/v1/users/(.*)", UsersHandler),
    ], **config)


motor_client = motor.motor_tornado.MotorClient('http://localhost:27017')
mongo_db = motor_client.get_default_database()

app = make_app({
    "motor_client": motor_client,
    "mongo_db": mongo_db
})

if __name__ == '__main__':
    app = make_app()

    app.listen(5000) #app listenong on port 5000
    print("Im listening on port 5000")
    tornado.ioloop.IOLoop.current().start() #start a thread on current ioloop from tornado

И обработчик выглядит так:

import tornado.web
import json


class UsersListHandler(tornado.web.RequestHandler):
    async def get(self):
        users = await self.settings['mongo_db'].users.find(
            {}
        )

        if user is None:
            raise tornado.web.HTTPError(
            404, f"Mising users"
        )

        self.finish(users['content'])

Я не могу понять, в чем проблема, я пробовал разные конфигурации обработчика, но я взял основные части кода из источника, который я определенные работы, так что я совсем потерялся

...