From 5008066d934ec96dd4097ea8b177a39571dbdf27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20V=C3=A9zina?= <5130500+morpheus65535@users.noreply.github.com> Date: Sat, 28 Dec 2019 00:52:00 -0500 Subject: [PATCH] Initial /movies --- bazarr/api.py | 31 ++--- bazarr/main.py | 32 ++--- views/_main.html | 3 + views/movies.html | 337 +++++++--------------------------------------- 4 files changed, 65 insertions(+), 338 deletions(-) diff --git a/bazarr/api.py b/bazarr/api.py index 68f4c82c6..32db39821 100644 --- a/bazarr/api.py +++ b/bazarr/api.py @@ -14,7 +14,6 @@ from database import database from helper import path_replace, path_replace_reverse, path_replace_movie, path_replace_reverse_movie from get_languages import load_language_in_db, alpha2_from_language, alpha3_from_language, language_from_alpha2, \ alpha3_from_alpha2 -from SSE import event_stream from flask import Flask, jsonify, request, Response, Blueprint @@ -24,17 +23,6 @@ api_bp = Blueprint('api', __name__, url_prefix='/api') api = Api(api_bp) -@app.route('/event') -def event(): - return Response(event_stream.read(), mimetype="text/event-stream") - - -@app.route('/write') -def write(): - event_stream.write('fake message') - return "", 200 - - class Badges(Resource): def get(self): result = { @@ -435,14 +423,11 @@ class WantedMovies(Resource): return jsonify(draw=draw, recordsTotal=row_count, recordsFiltered=row_count, data=data) -api.add_resource(Badges, '/api/badges') -api.add_resource(Series, '/api/series') -api.add_resource(Episodes, '/api/episodes') -api.add_resource(Movies, '/api/movies') -api.add_resource(HistorySeries, '/api/history_series') -api.add_resource(HistoryMovies, '/api/history_movies') -api.add_resource(WantedSeries, '/api/wanted_series') -api.add_resource(WantedMovies, '/api/wanted_movies') - -if __name__ == '__main__': - app.run(debug=True) +api.add_resource(Badges, '/badges') +api.add_resource(Series, '/series') +api.add_resource(Episodes, '/episodes') +api.add_resource(Movies, '/movies') +api.add_resource(HistorySeries, '/history_series') +api.add_resource(HistoryMovies, '/history_movies') +api.add_resource(WantedSeries, '/wanted_series') +api.add_resource(WantedMovies, '/wanted_movies') diff --git a/bazarr/main.py b/bazarr/main.py index d11462957..4b3650291 100644 --- a/bazarr/main.py +++ b/bazarr/main.py @@ -44,7 +44,7 @@ from io import BytesIO from six import text_type, PY2 from datetime import timedelta from get_languages import load_language_in_db, language_from_alpha3, language_from_alpha2, alpha2_from_alpha3 -from flask import Flask, make_response, request, redirect, abort, render_template +from flask import Flask, make_response, request, redirect, abort, render_template, Response from flask_cors import CORS from get_providers import get_providers, get_providers_auth, list_throttled_providers @@ -88,6 +88,8 @@ toolbar = DebugToolbarExtension(app) from api import api_bp app.register_blueprint(api_bp) +from SSE import event_stream + # Add Cors CORS(app) @@ -726,28 +728,7 @@ def episodes(no): @app.route('/movies') # @custom_auth_basic(check_credentials) def movies(): - - - missing_count = database.execute("SELECT COUNT(*) as count FROM table_movies", only_one=True)['count'] - page = request.data - if page == "": - page = "1" - page_size = int(settings.general.page_size) - offset = (int(page) - 1) * page_size - max_page = int(math.ceil(missing_count / (page_size + 0.0))) - - data = database.execute("SELECT tmdbId, title, path, languages, hearing_impaired, radarrId, poster, " - "audio_language, monitored, scenename, forced FROM table_movies ORDER BY sortTitle ASC " - "LIMIT ? OFFSET ?", (page_size, offset)) - # path_replace - dict_mapper.path_replace_movie(data) - - languages = database.execute("SELECT code2, name FROM table_settings_languages WHERE enabled=1") - - return render_template('movies.html', bazarr_version=bazarr_version, rows=data, languages=languages, - missing_count=missing_count, page=page, max_page=max_page, base_url=base_url, - single_language=settings.general.getboolean('single_language'), page_size=page_size, - current_port=settings.general.port) + return render_template('movies.html') @app.route('/movieseditor') @@ -2185,6 +2166,11 @@ def movie_history(no): return dict(data=movie_history) +@app.route('/event') +def event(): + return Response(event_stream.read(), mimetype="text/event-stream") + + # Don't put any route under this one @app.route('/api/help') def api_help(): diff --git a/views/_main.html b/views/_main.html index 99b26ab1b..715bb6cfb 100644 --- a/views/_main.html +++ b/views/_main.html @@ -29,6 +29,8 @@ + + {% endblock head_css %} {% block head %} @@ -189,6 +191,7 @@ + diff --git a/views/movies.html b/views/movies.html index a5ba1c968..bb4fef0e6 100644 --- a/views/movies.html +++ b/views/movies.html @@ -1,294 +1,47 @@ - - - - - - - - - - - - - - - - - Movies - Bazarr - - - - -
-
Loading...
-
- % include('menu.tpl') - -
-
- -
- - - - - - - - - - - - - - - %import ast - %import os - %for row in rows: - - - - - - - - - - - %end - -
NamePathAudio
Language
Subtitles
Languages
Hearing-
Impaired
Forced
- %if row['monitored'] == "True": - - %else: - - %end - - % if row['sceneName'] is not None: - - % end - {{row['title']}} - - %if os.path.isfile(row['path']): - - %else: - - %end - {{row['path']}} - {{row['audio_language']}} - %subs_languages = ast.literal_eval(str(row['languages'])) - %if subs_languages is not None: - %for subs_language in subs_languages: -
{{subs_language}}
- %end - %end -
{{!"" if row['hearing_impaired'] is None else row['hearing_impaired']}}{{row['forced']}} - <% - subs_languages_list = [] - if subs_languages is not None: - for subs_language in subs_languages: - subs_languages_list.append(subs_language) - end - end - %> -
- -
-
- %try: page_size - %except NameError: page_size = "25" - %end - %if page_size != -1: -
-
-
-
- - - {{page}} / {{max_page}} - - -
-
Total Records: {{missing_count}}
-
-
- %end -
- - - - % include('footer.tpl') - - - - +{% extends '_main.html' %} + +{% block title %}Movies - Bazarr{% endblock %} + +{% block head %} + +{% endblock head %} + +{% block body %} + + + + + + + + + + + + +
MonitoredNamePathAudio LanguageSubtitles LanguagesHearing-ImpairedForced
+{% endblock body %} + +{% block tail %} +{% endblock tail %}