Files @ bfccdcd998fc
Branch filter:

Location: C3L-NOC/spaceapi/spaceapi/__init__.py

Dennis Fink
Remove dead code
import base64
import json
import logging
import logging.handlers
import os
import os.path

from flask import Flask
from flask_bootstrap import Bootstrap

config_file = os.path.abspath("config.json")
bootstrap = Bootstrap()

logging_debug_string = (
    "%(levelname)s:%(name)s:%(asctime)s:%(filename)s" ":%(lineno)d: %(message)s"
)
logging_string = "%(levelname)s - %(name)s - %(asctime)s - %(message)s"
logging_debug_formatter = logging.Formatter(logging_debug_string)
logging_formatter = logging.Formatter(logging_string)


def create_app():
    app = Flask(__name__)

    _default_secret_key = base64.b64encode(os.urandom(32)).decode("utf-8")
    app.config["SECRET_KEY"] = os.environ.get("SECRET_KEY", _default_secret_key)

    if not hasattr(app.config, "from_json"):

        def from_json(file, silent=True):
            try:
                with open(file, encoding="utf-8") as json_file:
                    obj = json.load(json_file)
            except IOError:
                if silent:
                    return False
                raise

            for key in obj:
                if key.isupper():
                    app.config[key] = obj[key]

            return True

        app.config.from_json = from_json

    app.config.from_json(config_file, silent=True)
    app.config.setdefault("BOOTSTRAP_SERVE_LOCAL", True)

    bootstrap.init_app(app)

    app.logger.setLevel(logging.DEBUG)
    stream_handler = logging.StreamHandler()
    stream_handler.setLevel(logging.DEBUG)
    stream_handler.setFormatter(logging_debug_formatter)

    if not os.path.exists("spaceapi.log"):
        open("spaceapi.log", mode="a").close()

    rotating_file_handler = logging.handlers.RotatingFileHandler(
        "spaceapi.log", maxBytes=1300000, backupCount=10, encoding="utf-8"
    )
    rotating_file_handler.setLevel(logging.INFO)
    rotating_file_handler.setFormatter(logging_formatter)

    if app.debug or (
        "ENABLE_DEBUG_LOG" in app.config and app.config["ENABLE_DEBUG_LOG"]
    ):

        if not os.path.exists("spaceapi_debug.log"):
            open("spaceapi_debug.log", mode="a").close()

        second_rotating_file_handler = logging.handlers.RotatingFileHandler(
            "spaceapi_debug.log", maxBytes=1300000, backupCount=20, encoding="utf-8"
        )
        second_rotating_file_handler.setLevel(logging.DEBUG)
        second_rotating_file_handler.setFormatter(logging_debug_formatter)
        app.logger.addHandler(second_rotating_file_handler)

    app.logger.addHandler(stream_handler)
    app.logger.addHandler(rotating_file_handler)

    @app.after_request
    def add_headers(response):
        response.headers.setdefault("Access-Control-Allow-Origin", "*")
        response.headers.setdefault("Cache-Control", "no-cache")

        return response

    from .views import root_views

    app.register_blueprint(root_views)

    from .state import state_views

    app.register_blueprint(state_views, url_prefix="/state")

    from .sensors import sensors_views

    app.register_blueprint(sensors_views, url_prefix="/sensors")

    from .utils import ActiveStatusv14

    ActiveStatusv14().reload()

    return app