-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
40 lines (27 loc) · 1.01 KB
/
main.py
File metadata and controls
40 lines (27 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from Route.info import InfoAPI
from checker import check_environ
check_environ()
from fastapi.responses import JSONResponse
import utils.logger.logger
import fastapi
from Module.register import Register
from Route.submit import JudgementNode
from utils.data.storage import Storage
logger = utils.logger.logger.getLogger(__name__)
class Application(fastapi.FastAPI):
def __init__(self):
super().__init__()
self.add_api_route("/version", self.get_version, methods=["GET"])
self.storage = Storage()
self.register = Register()
self.storage.scan_problems()
self.register.init()
self.include_router(JudgementNode(self.storage, self.register))
self.include_router(InfoAPI(self.storage, self.register))
@staticmethod
async def get_version():
return JSONResponse({"version": "1.0.0"})
if __name__ == '__main__':
app = Application()
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000, log_config=utils.logger.logger.LOGGING_CONFIG)