-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
72 lines (54 loc) · 1.54 KB
/
main.py
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
:Mod: main.py
:Synopsis:
:Author:
servilla
:Created:
5/14/21
"""
import logging
import os
import daiquiri
import fastapi
import fastapi_chameleon
import uvicorn
from starlette.staticfiles import StaticFiles
from config import Config
from views import about
from views import resources
from views import support
from views import data
from views import index
from views import user
from views import search
from views import featured
from views import news
from views import webinars
daiquiri.setup(level=logging.INFO,
outputs=(daiquiri.output.File(Config.LOGFILE), "stdout",))
logger = daiquiri.getLogger(__name__)
app = fastapi.FastAPI(docs_url=None, redoc_url=None)
def configure(dev_mode: bool):
configure_templates(dev_mode)
configure_routes()
def configure_templates(dev_mode: bool):
fastapi_chameleon.global_init('templates', auto_reload=dev_mode)
def configure_routes():
app.mount('/static', StaticFiles(directory='static'), name='static')
app.include_router(about.router)
app.include_router(resources.router)
app.include_router(data.router)
app.include_router(support.router)
app.include_router(index.router)
app.include_router(user.router)
app.include_router(search.router)
app.include_router(featured.router)
app.include_router(news.router)
app.include_router(webinars.router)
if __name__ == "__main__":
configure(dev_mode=True)
uvicorn.run(app, host='127.0.0.1', port=8000)
else:
configure(dev_mode=False)