Browse Source

add new configuration file

master
cinnaboot 7 years ago
parent
commit
cec4fea3f1
  1. 19
      local_config.py
  2. 36
      video_metadata/__init__.py
  3. 2
      video_metadata/templates/tmdb/list_movie_test.html.jinja
  4. 7
      video_metadata/views/tmdb.py

19
local_config.py

@ -0,0 +1,19 @@
# NOTE: copy this file to the instance folder and fill in the appropriate values
# https://flask.palletsprojects.com/en/1.1.x/config/#SECRET_KEY
SECRET_KEY = b'\x00'
# https://flask.palletsprojects.com/en/1.1.x/config/#DEBUG
DEBUG = False
# the absolute filesystem path to use as your video directory eg) '/var/videos'
MOVIE_DIR = ''
# create an account at tmdb and follow the instructions to find your key
# https://developers.themoviedb.org/3/getting-started/introduction
TMDB_API_KEY = ''
# location of your video files relative to your web server's root eg) '/video'
VIDEO_URL_PREFIX = ''

36
video_metadata/__init__.py

@ -1,19 +1,20 @@
import json import json
import os import os
from pprint import pprint
from flask import Flask, render_template from flask import Flask, render_template
class default_config(object):
def __init__(self, app):
self.DATABASE = os.path.join(app.instance_path, 'video_metadata.sqlite')
self.MOVIE_DIR = os.path.join(app.instance_path, 'movie_dir')
self.TEMPLATES_AUTO_RELOAD = True
def create_app(): def create_app():
# create and configure the app # create the app
app = Flask(__name__, instance_relative_config=True) 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')),
TEMPLATES_AUTO_RELOAD = True,
)
# ensure the instance folder exists # ensure the instance folder exists
try: try:
@ -21,6 +22,13 @@ def create_app():
except OSError: except OSError:
pass pass
# load default config
app.config.from_object(default_config(app))
# add local config changes
app.config.from_pyfile('local_config.py')
pprint(app.config)
from . import db from . import db
db.init_app(app) db.init_app(app)
@ -38,15 +46,3 @@ def create_app():
def index(): def index():
return render_template('index.html') 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']

2
video_metadata/templates/tmdb/list_movie_test.html.jinja

@ -10,7 +10,7 @@
<div class="search_result"> <div class="search_result">
<h3><a href="{{ r.tmdb_link }}">{{ r.title }}</a></h3> <h3><a href="{{ r.tmdb_link }}">{{ r.title }}</a></h3>
<ul> <ul>
<li>Relative Path: {{ r.rel_path }}</li> <li><a href="{{ url_prefix }}{{ r.rel_path|urlencode }}">test link</a></li>
<li>Release Date: {{ r.release_date }}</li> <li>Release Date: {{ r.release_date }}</li>
<li>Description: <li>Description:
<p>{{ r.overview }}</p> <p>{{ r.overview }}</p>

7
video_metadata/views/tmdb.py

@ -96,7 +96,10 @@ def list_movie_test():
vr.rel_path = row['movie_path'] vr.rel_path = row['movie_path']
view_results.append(vr) view_results.append(vr)
return render_template('tmdb/list_movie_test.html.jinja', view_results = view_results) return render_template('tmdb/list_movie_test.html.jinja',
view_results = view_results,
url_prefix = current_app.config['VIDEO_URL_PREFIX']
)
@bp.route('/query_movie', methods=['GET', 'POST']) @bp.route('/query_movie', methods=['GET', 'POST'])
def query_movie(): def query_movie():
@ -156,9 +159,9 @@ def query_movie():
) )
) )
# TODO: add option for tv shows
@bp.route('/create_mapping') @bp.route('/create_mapping')
def create_mapping(): def create_mapping():
# TODO: add option for tv shows
movie_id = request.args.get('movie_id') movie_id = request.args.get('movie_id')
rel_path = request.args.get('rel_path') rel_path = request.args.get('rel_path')
errors = [] errors = []

Loading…
Cancel
Save