-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.py
More file actions
72 lines (54 loc) · 1.54 KB
/
main.py
File metadata and controls
72 lines (54 loc) · 1.54 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
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)