From 4e50a655aab00dea0272d179000597f646d86138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20V=C3=A9zina?= <5130500+morpheus65535@users.noreply.github.com> Date: Thu, 9 Nov 2017 16:13:14 -0500 Subject: [PATCH] Continuing update development --- bazarr.py | 50 ++++++++++++++++++++++++++--------------- check_update.py | 6 +++-- get_general_settings.py | 6 ++--- views/episodes.tpl | 48 +++++++++++++++++++-------------------- views/history.tpl | 36 ++++++++++++++--------------- views/series.tpl | 46 ++++++++++++++++++------------------- views/settings.tpl | 49 +++++++++++++++++++++++++--------------- views/system.tpl | 34 ++++++++++++++-------------- views/wanted.tpl | 40 ++++++++++++++++----------------- 9 files changed, 172 insertions(+), 143 deletions(-) diff --git a/bazarr.py b/bazarr.py index f68e9c4c3..b433a1bb6 100644 --- a/bazarr.py +++ b/bazarr.py @@ -26,6 +26,7 @@ from get_series import * from get_episodes import * from get_general_settings import * from get_sonarr_settings import * +from check_update import * from list_subtitles import * from get_subtitle import * from utils import * @@ -69,11 +70,15 @@ def configure_logging(): configure_logging() -@route(base_url + '/static/:path#.+#', name='static') +@route('/') +def redirect_root(): + redirect (base_url) + +@route(base_url + 'static/:path#.+#', name='static') def static(path): return static_file(path, root=os.path.join(os.path.dirname(__file__), 'static')) -@route(base_url + '/image_proxy/', method='GET') +@route(base_url + 'image_proxy/', method='GET') def image_proxy(url): img_pil = Image.open(BytesIO(requests.get(url_sonarr_short + '/' + url).content)) img_buffer = BytesIO() @@ -82,7 +87,7 @@ def image_proxy(url): img_buffer.seek(0) return send_file(img_buffer, ctype=img_pil.format) -@route(base_url + '/') +@route(base_url) def series(): db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) db.create_function("path_substitution", 1, path_replace) @@ -95,7 +100,7 @@ def series(): output = template('series', rows=data, languages=languages, base_url=base_url) return output -@route(base_url + '/edit_series/', method='POST') +@route(base_url + 'edit_series/', method='POST') def edit_series(no): ref = request.environ['HTTP_REFERER'] @@ -124,7 +129,7 @@ def edit_series(no): redirect(ref) -@route(base_url + '/update_series') +@route(base_url + 'update_series') def update_series_list(): ref = request.environ['HTTP_REFERER'] @@ -132,7 +137,7 @@ def update_series_list(): redirect(ref) -@route(base_url + '/update_all_episodes') +@route(base_url + 'update_all_episodes') def update_all_episodes_list(): ref = request.environ['HTTP_REFERER'] @@ -140,7 +145,7 @@ def update_all_episodes_list(): redirect(ref) -@route(base_url + '/add_new_episodes') +@route(base_url + 'add_new_episodes') def add_new_episodes_list(): ref = request.environ['HTTP_REFERER'] @@ -148,7 +153,7 @@ def add_new_episodes_list(): redirect(ref) -@route(base_url + '/episodes/', method='GET') +@route(base_url + 'episodes/', method='GET') def episodes(no): conn = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) conn.create_function("path_substitution", 1, path_replace) @@ -166,7 +171,7 @@ def episodes(no): return template('episodes', no=no, details=series_details, seasons=seasons_list, url_sonarr_short=url_sonarr_short, base_url=base_url) -@route(base_url + '/scan_disk/', method='GET') +@route(base_url + 'scan_disk/', method='GET') def scan_disk(no): ref = request.environ['HTTP_REFERER'] @@ -174,7 +179,7 @@ def scan_disk(no): redirect(ref) -@route(base_url + '/search_missing_subtitles/', method='GET') +@route(base_url + 'search_missing_subtitles/', method='GET') def search_missing_subtitles(no): ref = request.environ['HTTP_REFERER'] @@ -182,7 +187,7 @@ def search_missing_subtitles(no): redirect(ref) -@route(base_url + '/history') +@route(base_url + 'history') def history(): db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) c = db.cursor() @@ -202,7 +207,7 @@ def history(): c.close() return template('history', rows=data, row_count=row_count, page=page, max_page=max_page, base_url=base_url) -@route(base_url + '/wanted') +@route(base_url + 'wanted') def wanted(): db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) db.create_function("path_substitution", 1, path_replace) @@ -222,7 +227,7 @@ def wanted(): c.close() return template('wanted', rows=data, missing_count=missing_count, page=page, max_page=max_page, base_url=base_url) -@route(base_url + '/wanted_search_missing_subtitles') +@route(base_url + 'wanted_search_missing_subtitles') def wanted_search_missing_subtitles_list(): ref = request.environ['HTTP_REFERER'] @@ -230,7 +235,7 @@ def wanted_search_missing_subtitles_list(): redirect(ref) -@route(base_url + '/settings') +@route(base_url + 'settings') def settings(): db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) c = db.cursor() @@ -245,7 +250,7 @@ def settings(): c.close() return template('settings', settings_general=settings_general, settings_languages=settings_languages, settings_providers=settings_providers, settings_sonarr=settings_sonarr, base_url=base_url) -@route(base_url + '/save_settings', method='POST') +@route(base_url + 'save_settings', method='POST') def save_settings(): ref = request.environ['HTTP_REFERER'] @@ -293,7 +298,16 @@ def save_settings(): redirect(ref) -@route(base_url + '/system') +@route(base_url + 'check_update') +def check_update(): + ref = request.environ['HTTP_REFERER'] + + logging.info('test') + check_and_apply_update() + + redirect(ref) + +@route(base_url + 'system') def system(): db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) c = db.cursor() @@ -311,7 +325,7 @@ def system(): return template('system', tasks=tasks, logs=logs, base_url=base_url, task_list=task_list) -@route(base_url + '/remove_subtitles', method='POST') +@route(base_url + 'remove_subtitles', method='POST') def remove_subtitles(): episodePath = request.forms.get('episodePath') language = request.forms.get('language') @@ -328,7 +342,7 @@ def remove_subtitles(): store_subtitles(episodePath) list_missing_subtitles(sonarrSeriesId) -@route(base_url + '/get_subtitle', method='POST') +@route(base_url + 'get_subtitle', method='POST') def get_subtitle(): ref = request.environ['HTTP_REFERER'] diff --git a/check_update.py b/check_update.py index 1ef061ce1..b6c3a1894 100644 --- a/check_update.py +++ b/check_update.py @@ -4,8 +4,10 @@ import os import subprocess def check_and_apply_update(): - result = subprocess.check_output(["git", "pull", '--dry-run', 'origin', branch], stderr=subprocess.STDOUT, shell=True, cwd=os.path.join(os.path.dirname(__file__)).split('\n') + result = subprocess.check_output(["git", "pull", '--dry-run', 'origin', branch], stderr=subprocess.STDOUT, shell=True, cwd=os.path.join(os.path.dirname(__file__))).split('\n') if result[2] is not '': - subprocess.check_output(["git", "pull", 'origin', branch], shell=True, cwd=os.path.join(os.path.dirname(__file__)) + subprocess.check_output(["git", "pull", 'origin', branch], shell=True, cwd=os.path.join(os.path.dirname(__file__))) os.execlp('python', 'python ' + os.path.join(os.path.dirname(__file__), 'bazarr.py')) + + return result diff --git a/get_general_settings.py b/get_general_settings.py index 7602255c5..b86698fe8 100644 --- a/get_general_settings.py +++ b/get_general_settings.py @@ -16,8 +16,8 @@ db.close() ip = general_settings[0] port = general_settings[1] base_url = general_settings[2] -if base_url.endswith('/'): - base_url = base_url[:-1] +if base_url == (''): + base_url = '/' if general_settings[3] is None: path_mappings = [] else: @@ -50,4 +50,4 @@ def path_replace_reverse(path): if '\\' in path: path = path.replace('\\', '/') - return path \ No newline at end of file + return path diff --git a/views/episodes.tpl b/views/episodes.tpl index 7d20a4070..4b391f3e4 100644 --- a/views/episodes.tpl +++ b/views/episodes.tpl @@ -1,25 +1,25 @@ - - - - + + + + - - - - - - - + + + + + + + {{details[0]}} - Bazarr