gammatools/app/__init__.py

40 lines
1.3 KiB
Python

from flask import Flask
from flask_cors import CORS
from flask_restx import Api
from config import BASE_DIR, DATA_DIR, MONSTERS_JSON_PATH
app = Flask(__name__)
app.url_map.strict_slashes = False # Because Chromium is being a bitch
CORS(app)
restx_api = Api(app, version='1.0', title='Gamma World Dice', description='Rolled Dice As A Service')
app.config['DEBUG'] = True
app.config['SWAGGER_UI_JSONEDITOR'] = True
app.config['BASE_DIR'] = BASE_DIR
app.config['DATA_DIR'] = DATA_DIR
app.config['MONSTERS_JSON_PATH'] = MONSTERS_JSON_PATH
def init():
from app.routes import coinflip, roll_chance, roll_dice, table_views, encounter, character, \
ability_check, mental_attack, physical_attack, get_creature
# root namespace
restx_api.add_namespace(coinflip.namespace)
# dice namespace
restx_api.add_namespace(roll_dice.namespace)
restx_api.add_namespace(roll_chance.namespace)
# rules namespace
restx_api.add_namespace(table_views.namespace)
restx_api.add_namespace(character.namespace)
restx_api.add_namespace(get_creature.namespace)
# gameplay namespace
restx_api.add_namespace(encounter.namespace)
restx_api.add_namespace(ability_check.namespace)
restx_api.add_namespace(mental_attack.namespace)
restx_api.add_namespace(physical_attack.namespace)
init()