Skip to content

Commit 4798687

Browse files
committed
Update sanic api layout
1 parent d685d12 commit 4798687

File tree

9 files changed

+43
-7
lines changed

9 files changed

+43
-7
lines changed

sanic-api/app/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
from sanic import Sanic
22
import os
33

4+
from .config import get_config
5+
from .routes import setup_routes
6+
7+
48
def create_app():
59
app = Sanic(__name__)
610

sanic-api/app/config.py

Whitespace-only changes.

sanic-api/app/config/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import os
2+
3+
def get_config(config_name):
4+
if config_name == 'development':
5+
from .development import DevelopmentConfig
6+
return DevelopmentConfig
7+
elif config_name == 'production':
8+
from .production import ProductionConfig
9+
return ProductionConfig
10+
else:
11+
from .base import BaseConfig
12+
return BaseConfig

sanic-api/app/config/base.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
class BaseConfig:
2+
DEBUG = False
3+
TESTING = False
4+
DATABASE_URI = 'sqlite:///:memory:'

sanic-api/app/config/development.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from .base.py import BaseConfig
2+
3+
class DevelopmentConfig(BaseConfig):
4+
DEBUG = True
5+
DATABASE_URI = 'sqlite:///dev_db.sqlite3'

sanic-api/app/config/production.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from .base.py import BaseConfig
2+
3+
class ProductionConfig(BaseConfig):
4+
DATABASE_URI = 'postgresql://user:password@localhost/prod_db'
5+
DEBUG = False

sanic-api/app/routes.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from .views import hello_world
2+
3+
def setup_routes(app):
4+
app.add_route(hello_world, '/')

sanic-api/app/views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from sanic.response import json
2+
3+
async def hello_world(request):
4+
return json({'message': 'Hello, world!'})

sanic-api/run.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
from app import create_app
2-
from dotenv import load_dotenv
31
import os
2+
from app import create_app
43

5-
load_dotenv()
6-
7-
app = create_app()
4+
config_name = os.getenv('SANIC_ENV', 'development')
5+
app = create_app(config_name)
86

9-
if __name__ == "__main__":
10-
app.run(host="0.0.0.0", port=8000)
7+
if __name__ == '__main__':
8+
app.run(host='0.0.0.0', port=8000)

0 commit comments

Comments
 (0)