import json import os from flask import Flask, render_template def create_app(): # create and configure the app app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY = 'dev', DATABASE = os.path.join(app.instance_path, 'video_metadata.sqlite'), MOVIE_DIR = os.path.join(app.instance_path, 'movie_dir'), TMDB_API_KEY = parse_API_key(app, os.path.join(app.instance_path, 'API_KEY.json')), ) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass from . import db db.init_app(app) from video_metadata.views import file_listing app.register_blueprint(file_listing.bp) from video_metadata.views import tmdb app.register_blueprint(tmdb.bp) app.add_url_rule('/', 'index', index) return app def index(): return render_template('index.html') def parse_API_key(app, path): try: fd = open(path) except OSError as e: app.logger.error('error opening path: %s, %s', path, e.strerror) return '' j = json.load(fd) fd.close() return j['key']