mirror of https://github.com/morpheus65535/bazarr
Continuing development.
This commit is contained in:
parent
7e6ce238ce
commit
3cc39c08da
|
@ -39,7 +39,8 @@ defaults = {
|
||||||
'subfolder': 'current',
|
'subfolder': 'current',
|
||||||
'subfolder_custom': '',
|
'subfolder_custom': '',
|
||||||
'upgrade_subs': 'True',
|
'upgrade_subs': 'True',
|
||||||
'days_to_upgrade_subs': '7'
|
'days_to_upgrade_subs': '7',
|
||||||
|
'upgrade_manual': 'True'
|
||||||
},
|
},
|
||||||
'auth': {
|
'auth': {
|
||||||
'type': 'None',
|
'type': 'None',
|
||||||
|
|
|
@ -111,7 +111,7 @@ def download_subtitle(path, language, hi, providers, providers_auth, sceneName,
|
||||||
else:
|
else:
|
||||||
hi = False
|
hi = False
|
||||||
language_set = set()
|
language_set = set()
|
||||||
|
original_language = language
|
||||||
if not isinstance(language, types.ListType):
|
if not isinstance(language, types.ListType):
|
||||||
language = [language]
|
language = [language]
|
||||||
|
|
||||||
|
@ -184,9 +184,9 @@ def download_subtitle(path, language, hi, providers, providers_auth, sceneName,
|
||||||
saved_any = True
|
saved_any = True
|
||||||
for subtitle in saved_subtitles:
|
for subtitle in saved_subtitles:
|
||||||
downloaded_provider = subtitle.provider_name
|
downloaded_provider = subtitle.provider_name
|
||||||
downloaded_language = language_from_alpha3(subtitle.language.alpha3)
|
downloaded_language = language_from_alpha3(original_language)
|
||||||
downloaded_language_code2 = alpha2_from_alpha3(subtitle.language.alpha3)
|
downloaded_language_code2 = alpha2_from_alpha3(original_language)
|
||||||
downloaded_language_code3 = subtitle.language.alpha3
|
downloaded_language_code3 = original_language
|
||||||
downloaded_path = subtitle.storage_path
|
downloaded_path = subtitle.storage_path
|
||||||
logging.debug('BAZARR Subtitles file saved to disk: ' + downloaded_path)
|
logging.debug('BAZARR Subtitles file saved to disk: ' + downloaded_path)
|
||||||
if video.used_scene_name:
|
if video.used_scene_name:
|
||||||
|
@ -715,24 +715,32 @@ def upgrade_subtitles():
|
||||||
minimum_timestamp = ((datetime.now() - timedelta(days=int(days_to_upgrade_subs))) -
|
minimum_timestamp = ((datetime.now() - timedelta(days=int(days_to_upgrade_subs))) -
|
||||||
datetime(1970, 1, 1)).total_seconds()
|
datetime(1970, 1, 1)).total_seconds()
|
||||||
|
|
||||||
|
if settings.general.getboolean('upgrade_manual'):
|
||||||
|
query_actions = [1, 2, 3]
|
||||||
|
else:
|
||||||
|
query_actions = [1, 3]
|
||||||
|
|
||||||
db = sqlite3.connect(os.path.join(args.config_dir, 'db', 'bazarr.db'), timeout=30)
|
db = sqlite3.connect(os.path.join(args.config_dir, 'db', 'bazarr.db'), timeout=30)
|
||||||
c = db.cursor()
|
c = db.cursor()
|
||||||
episodes_list = c.execute("""SELECT table_history.video_path, table_history.language, table_history.score,
|
episodes_list = c.execute("""SELECT table_history.video_path, table_history.language, table_history.score,
|
||||||
table_shows.hearing_impaired, table_episodes.scene_name, table_episodes.title,
|
table_shows.hearing_impaired, table_episodes.scene_name, table_episodes.title,
|
||||||
table_episodes.sonarrSeriesId, table_episodes.sonarrEpisodeId,
|
table_episodes.sonarrSeriesId, table_episodes.sonarrEpisodeId,
|
||||||
MAX(table_history.timestamp)
|
MAX(table_history.timestamp), table_shows.languages
|
||||||
FROM table_history
|
FROM table_history
|
||||||
INNER JOIN table_shows on table_shows.sonarrSeriesId = table_history.sonarrSeriesId
|
INNER JOIN table_shows on table_shows.sonarrSeriesId = table_history.sonarrSeriesId
|
||||||
INNER JOIN table_episodes on table_episodes.sonarrEpisodeId = table_history.sonarrEpisodeId
|
INNER JOIN table_episodes on table_episodes.sonarrEpisodeId = table_history.sonarrEpisodeId
|
||||||
WHERE action = 1 AND timestamp > ? AND score is not null AND score < "360"
|
WHERE action IN (""" + ','.join(map(str, query_actions)) + """) AND timestamp > ? AND
|
||||||
|
score is not null AND score < "360"
|
||||||
GROUP BY table_history.video_path, table_history.language""",
|
GROUP BY table_history.video_path, table_history.language""",
|
||||||
(minimum_timestamp,)).fetchall()
|
(minimum_timestamp,)).fetchall()
|
||||||
movies_list = c.execute("""SELECT table_history_movie.video_path, table_history_movie.language,
|
movies_list = c.execute("""SELECT table_history_movie.video_path, table_history_movie.language,
|
||||||
table_history_movie.score, table_movies.hearing_impaired, table_movies.sceneName,
|
table_history_movie.score, table_movies.hearing_impaired, table_movies.sceneName,
|
||||||
table_movies.title, table_movies.radarrId, MAX(table_history_movie.timestamp)
|
table_movies.title, table_movies.radarrId, MAX(table_history_movie.timestamp),
|
||||||
|
table_movies.languages
|
||||||
FROM table_history_movie
|
FROM table_history_movie
|
||||||
INNER JOIN table_movies on table_movies.radarrId = table_history_movie.radarrId
|
INNER JOIN table_movies on table_movies.radarrId = table_history_movie.radarrId
|
||||||
WHERE action = 1 AND timestamp > ? AND score is not null AND score < "120"
|
WHERE action IN (""" + ','.join(map(str, query_actions)) + """) AND timestamp > ? AND
|
||||||
|
score is not null AND score < "120"
|
||||||
GROUP BY table_history_movie.video_path, table_history_movie.language""",
|
GROUP BY table_history_movie.video_path, table_history_movie.language""",
|
||||||
(minimum_timestamp,)).fetchall()
|
(minimum_timestamp,)).fetchall()
|
||||||
db.close()
|
db.close()
|
||||||
|
@ -751,35 +759,37 @@ def upgrade_subtitles():
|
||||||
providers_auth = get_providers_auth()
|
providers_auth = get_providers_auth()
|
||||||
|
|
||||||
for episode in episodes_to_upgrade:
|
for episode in episodes_to_upgrade:
|
||||||
notifications.write(
|
if episode[1] in ast.literal_eval(str(episode[9])):
|
||||||
msg='Searching to upgrade ' + str(language_from_alpha2(episode[1])) + ' subtitles for this episode: ' +
|
notifications.write(
|
||||||
path_replace(episode[0]), queue='get_subtitle')
|
msg='Searching to upgrade ' + str(language_from_alpha2(episode[1])) + ' subtitles for this episode: ' +
|
||||||
result = download_subtitle(path_replace(episode[0]), str(alpha3_from_alpha2(episode[1])),
|
path_replace(episode[0]), queue='get_subtitle')
|
||||||
episode[3], providers_list, providers_auth, str(episode[4]),
|
result = download_subtitle(path_replace(episode[0]), str(alpha3_from_alpha2(episode[1])),
|
||||||
episode[5], 'series', forced_minimum_score=int(episode[2]))
|
episode[3], providers_list, providers_auth, str(episode[4]),
|
||||||
if result is not None:
|
episode[5], 'series', forced_minimum_score=int(episode[2]))
|
||||||
message = result[0]
|
if result is not None:
|
||||||
path = result[1]
|
message = result[0]
|
||||||
language_code = result[2]
|
path = result[1]
|
||||||
provider = result[3]
|
language_code = result[2]
|
||||||
score = result[4]
|
provider = result[3]
|
||||||
store_subtitles(path_replace(episode[0]))
|
score = result[4]
|
||||||
history_log(1, episode[6], episode[7], message, path, language_code, provider, score)
|
store_subtitles(path_replace(episode[0]))
|
||||||
send_notifications(episode[6], episode[7], message)
|
history_log(3, episode[6], episode[7], message, path, language_code, provider, score)
|
||||||
|
send_notifications(episode[6], episode[7], message)
|
||||||
|
|
||||||
for movie in movies_to_upgrade:
|
for movie in movies_to_upgrade:
|
||||||
notifications.write(
|
if movie[1] in ast.literal_eval(str(movie[8])):
|
||||||
msg='Searching to upgrade ' + str(language_from_alpha2(movie[1])) + ' subtitles for this movie: ' +
|
notifications.write(
|
||||||
path_replace_movie(movie[0]), queue='get_subtitle')
|
msg='Searching to upgrade ' + str(language_from_alpha2(movie[1])) + ' subtitles for this movie: ' +
|
||||||
result = download_subtitle(path_replace_movie(movie[0]), str(alpha3_from_alpha2(movie[1])),
|
path_replace_movie(movie[0]), queue='get_subtitle')
|
||||||
movie[3], providers_list, providers_auth, str(movie[4]),
|
result = download_subtitle(path_replace_movie(movie[0]), str(alpha3_from_alpha2(movie[1])),
|
||||||
movie[5], 'movie', forced_minimum_score=int(movie[2]))
|
movie[3], providers_list, providers_auth, str(movie[4]),
|
||||||
if result is not None:
|
movie[5], 'movie', forced_minimum_score=int(movie[2]))
|
||||||
message = result[0]
|
if result is not None:
|
||||||
path = result[1]
|
message = result[0]
|
||||||
language_code = result[2]
|
path = result[1]
|
||||||
provider = result[3]
|
language_code = result[2]
|
||||||
score = result[4]
|
provider = result[3]
|
||||||
store_subtitles_movie(path_replace_movie(movie[0]))
|
score = result[4]
|
||||||
history_log_movie(1, movie[6], message, path, language_code, provider, score)
|
store_subtitles_movie(path_replace_movie(movie[0]))
|
||||||
send_notifications_movie(movie[6], message)
|
history_log_movie(3, movie[6], message, path, language_code, provider, score)
|
||||||
|
send_notifications_movie(movie[6], message)
|
||||||
|
|
|
@ -284,6 +284,11 @@ def save_wizard():
|
||||||
else:
|
else:
|
||||||
settings_upgrade_subs = 'True'
|
settings_upgrade_subs = 'True'
|
||||||
settings_days_to_upgrade_subs = request.forms.get('settings_days_to_upgrade_subs')
|
settings_days_to_upgrade_subs = request.forms.get('settings_days_to_upgrade_subs')
|
||||||
|
settings_upgrade_manual = request.forms.get('settings_upgrade_manual')
|
||||||
|
if settings_upgrade_manual is None:
|
||||||
|
settings_upgrade_manual = 'False'
|
||||||
|
else:
|
||||||
|
settings_upgrade_manual = 'True'
|
||||||
|
|
||||||
settings.general.ip = text_type(settings_general_ip)
|
settings.general.ip = text_type(settings_general_ip)
|
||||||
settings.general.port = text_type(settings_general_port)
|
settings.general.port = text_type(settings_general_port)
|
||||||
|
@ -298,6 +303,7 @@ def save_wizard():
|
||||||
settings.general.use_embedded_subs = text_type(settings_general_embedded)
|
settings.general.use_embedded_subs = text_type(settings_general_embedded)
|
||||||
settings.general.upgrade_subs = text_type(settings_upgrade_subs)
|
settings.general.upgrade_subs = text_type(settings_upgrade_subs)
|
||||||
settings.general.days_to_upgrade_subs = text_type(settings_days_to_upgrade_subs)
|
settings.general.days_to_upgrade_subs = text_type(settings_days_to_upgrade_subs)
|
||||||
|
settings.general.upgrade_manual = text_type(settings_upgrade_manual)
|
||||||
|
|
||||||
settings_sonarr_ip = request.forms.get('settings_sonarr_ip')
|
settings_sonarr_ip = request.forms.get('settings_sonarr_ip')
|
||||||
settings_sonarr_port = request.forms.get('settings_sonarr_port')
|
settings_sonarr_port = request.forms.get('settings_sonarr_port')
|
||||||
|
@ -959,14 +965,35 @@ def historyseries():
|
||||||
stats = [len(today), len(thisweek), len(thisyear), total]
|
stats = [len(today), len(thisweek), len(thisyear), total]
|
||||||
|
|
||||||
c.execute(
|
c.execute(
|
||||||
"SELECT table_history.action, table_shows.title, table_episodes.season || 'x' || table_episodes.episode, table_episodes.title, table_history.timestamp, table_history.description, table_history.sonarrSeriesId FROM table_history LEFT JOIN table_shows on table_shows.sonarrSeriesId = table_history.sonarrSeriesId LEFT JOIN table_episodes on table_episodes.sonarrEpisodeId = table_history.sonarrEpisodeId ORDER BY id DESC LIMIT ? OFFSET ?",
|
"SELECT table_history.action, table_shows.title, table_episodes.season || 'x' || table_episodes.episode, table_episodes.title, table_history.timestamp, table_history.description, table_history.sonarrSeriesId, table_episodes.path, table_shows.languages, table_history.language FROM table_history LEFT JOIN table_shows on table_shows.sonarrSeriesId = table_history.sonarrSeriesId LEFT JOIN table_episodes on table_episodes.sonarrEpisodeId = table_history.sonarrEpisodeId ORDER BY id DESC LIMIT ? OFFSET ?",
|
||||||
(page_size, offset,))
|
(page_size, offset,))
|
||||||
data = c.fetchall()
|
data = c.fetchall()
|
||||||
|
|
||||||
|
upgradable_episodes = []
|
||||||
|
if settings.general.getboolean('upgrade_subs'):
|
||||||
|
days_to_upgrade_subs = settings.general.days_to_upgrade_subs
|
||||||
|
minimum_timestamp = ((datetime.now() - timedelta(days=int(days_to_upgrade_subs))) -
|
||||||
|
datetime(1970, 1, 1)).total_seconds()
|
||||||
|
|
||||||
|
if settings.general.getboolean('upgrade_manual'):
|
||||||
|
query_actions = [1, 2, 3]
|
||||||
|
else:
|
||||||
|
query_actions = [1, 3]
|
||||||
|
|
||||||
|
upgradable_episodes = c.execute("""SELECT table_history.video_path, MAX(table_history.timestamp)
|
||||||
|
FROM table_history
|
||||||
|
WHERE action IN (""" + ','.join(map(str, query_actions)) + """) AND timestamp >
|
||||||
|
? AND score is not null AND score < "360"
|
||||||
|
GROUP BY table_history.video_path, table_history.language""",
|
||||||
|
(minimum_timestamp,)).fetchall()
|
||||||
|
|
||||||
c.close()
|
c.close()
|
||||||
|
|
||||||
data = reversed(sorted(data, key=operator.itemgetter(4)))
|
data = reversed(sorted(data, key=operator.itemgetter(4)))
|
||||||
|
|
||||||
return template('historyseries', bazarr_version=bazarr_version, rows=data, row_count=row_count,
|
return template('historyseries', bazarr_version=bazarr_version, rows=data, row_count=row_count,
|
||||||
page=page, max_page=max_page, stats=stats, base_url=base_url, page_size=page_size,
|
page=page, max_page=max_page, stats=stats, base_url=base_url, page_size=page_size,
|
||||||
current_port=settings.general.port)
|
current_port=settings.general.port, upgradable_episodes=upgradable_episodes)
|
||||||
|
|
||||||
|
|
||||||
@route(base_url + 'historymovies')
|
@route(base_url + 'historymovies')
|
||||||
|
@ -1002,14 +1029,33 @@ def historymovies():
|
||||||
stats = [len(today), len(thisweek), len(thisyear), total]
|
stats = [len(today), len(thisweek), len(thisyear), total]
|
||||||
|
|
||||||
c.execute(
|
c.execute(
|
||||||
"SELECT table_history_movie.action, table_movies.title, table_history_movie.timestamp, table_history_movie.description, table_history_movie.radarrId FROM table_history_movie LEFT JOIN table_movies on table_movies.radarrId = table_history_movie.radarrId ORDER BY id DESC LIMIT ? OFFSET ?",
|
"SELECT table_history_movie.action, table_movies.title, table_history_movie.timestamp, table_history_movie.description, table_history_movie.radarrId, table_history_movie.video_path, table_movies.languages, table_history_movie.language FROM table_history_movie LEFT JOIN table_movies on table_movies.radarrId = table_history_movie.radarrId ORDER BY id DESC LIMIT ? OFFSET ?",
|
||||||
(page_size, offset,))
|
(page_size, offset,))
|
||||||
data = c.fetchall()
|
data = c.fetchall()
|
||||||
|
|
||||||
|
upgradable_movies = []
|
||||||
|
if settings.general.getboolean('upgrade_subs'):
|
||||||
|
days_to_upgrade_subs = settings.general.days_to_upgrade_subs
|
||||||
|
minimum_timestamp = ((datetime.now() - timedelta(days=int(days_to_upgrade_subs))) -
|
||||||
|
datetime(1970, 1, 1)).total_seconds()
|
||||||
|
|
||||||
|
if settings.general.getboolean('upgrade_manual'):
|
||||||
|
query_actions = [1, 2, 3]
|
||||||
|
else:
|
||||||
|
query_actions = [1, 3]
|
||||||
|
|
||||||
|
upgradable_movies = c.execute("""SELECT video_path, MAX(timestamp)
|
||||||
|
FROM table_history_movie
|
||||||
|
WHERE action IN (""" + ','.join(map(str, query_actions)) + """) AND timestamp
|
||||||
|
> ? AND score is not null AND score < "120"
|
||||||
|
GROUP BY video_path, language""",
|
||||||
|
(minimum_timestamp,)).fetchall()
|
||||||
|
|
||||||
c.close()
|
c.close()
|
||||||
data = reversed(sorted(data, key=operator.itemgetter(2)))
|
data = reversed(sorted(data, key=operator.itemgetter(2)))
|
||||||
return template('historymovies', bazarr_version=bazarr_version, rows=data, row_count=row_count,
|
return template('historymovies', bazarr_version=bazarr_version, rows=data, row_count=row_count,
|
||||||
page=page, max_page=max_page, stats=stats, base_url=base_url, page_size=page_size,
|
page=page, max_page=max_page, stats=stats, base_url=base_url, page_size=page_size,
|
||||||
current_port=settings.general.port)
|
current_port=settings.general.port, upgradable_movies=upgradable_movies)
|
||||||
|
|
||||||
|
|
||||||
@route(base_url + 'wanted')
|
@route(base_url + 'wanted')
|
||||||
|
@ -1201,6 +1247,11 @@ def save_settings():
|
||||||
else:
|
else:
|
||||||
settings_upgrade_subs = 'True'
|
settings_upgrade_subs = 'True'
|
||||||
settings_days_to_upgrade_subs = request.forms.get('settings_days_to_upgrade_subs')
|
settings_days_to_upgrade_subs = request.forms.get('settings_days_to_upgrade_subs')
|
||||||
|
settings_upgrade_manual = request.forms.get('settings_upgrade_manual')
|
||||||
|
if settings_upgrade_manual is None:
|
||||||
|
settings_upgrade_manual = 'False'
|
||||||
|
else:
|
||||||
|
settings_upgrade_manual = 'True'
|
||||||
|
|
||||||
before = (unicode(settings.general.ip), int(settings.general.port), unicode(settings.general.base_url),
|
before = (unicode(settings.general.ip), int(settings.general.port), unicode(settings.general.base_url),
|
||||||
unicode(settings.general.path_mappings), unicode(settings.general.getboolean('use_sonarr')),
|
unicode(settings.general.path_mappings), unicode(settings.general.getboolean('use_sonarr')),
|
||||||
|
@ -1230,6 +1281,7 @@ def save_settings():
|
||||||
settings.general.subfolder_custom = text_type(settings_subfolder_custom)
|
settings.general.subfolder_custom = text_type(settings_subfolder_custom)
|
||||||
settings.general.upgrade_subs = text_type(settings_upgrade_subs)
|
settings.general.upgrade_subs = text_type(settings_upgrade_subs)
|
||||||
settings.general.days_to_upgrade_subs = text_type(settings_days_to_upgrade_subs)
|
settings.general.days_to_upgrade_subs = text_type(settings_days_to_upgrade_subs)
|
||||||
|
settings.general.upgrade_manual = text_type(settings_upgrade_manual)
|
||||||
settings.general.minimum_score_movie = text_type(settings_general_minimum_score_movies)
|
settings.general.minimum_score_movie = text_type(settings_general_minimum_score_movies)
|
||||||
settings.general.use_embedded_subs = text_type(settings_general_embedded)
|
settings.general.use_embedded_subs = text_type(settings_general_embedded)
|
||||||
settings.general.adaptive_searching = text_type(settings_general_adaptive_searching)
|
settings.general.adaptive_searching = text_type(settings_general_adaptive_searching)
|
||||||
|
@ -1759,7 +1811,7 @@ def manual_get_subtitle():
|
||||||
language_code = result[2]
|
language_code = result[2]
|
||||||
provider = result[3]
|
provider = result[3]
|
||||||
score = result[4]
|
score = result[4]
|
||||||
history_log(1, sonarrSeriesId, sonarrEpisodeId, message, path, language_code, provider, score)
|
history_log(2, sonarrSeriesId, sonarrEpisodeId, message, path, language_code, provider, score)
|
||||||
send_notifications(sonarrSeriesId, sonarrEpisodeId, message)
|
send_notifications(sonarrSeriesId, sonarrEpisodeId, message)
|
||||||
store_subtitles(unicode(episodePath))
|
store_subtitles(unicode(episodePath))
|
||||||
list_missing_subtitles(sonarrSeriesId)
|
list_missing_subtitles(sonarrSeriesId)
|
||||||
|
@ -1848,7 +1900,7 @@ def manual_get_subtitle_movie():
|
||||||
language_code = result[2]
|
language_code = result[2]
|
||||||
provider = result[3]
|
provider = result[3]
|
||||||
score = result[4]
|
score = result[4]
|
||||||
history_log_movie(1, radarrId, message, path, language_code, provider, score)
|
history_log_movie(2, radarrId, message, path, language_code, provider, score)
|
||||||
send_notifications_movie(radarrId, message)
|
send_notifications_movie(radarrId, message)
|
||||||
store_subtitles_movie(unicode(moviePath))
|
store_subtitles_movie(unicode(moviePath))
|
||||||
list_missing_subtitles_movies(radarrId)
|
list_missing_subtitles_movies(radarrId)
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
%import ast
|
||||||
%import time
|
%import time
|
||||||
%import pretty
|
%import pretty
|
||||||
%for row in rows:
|
%for row in rows:
|
||||||
|
@ -65,6 +66,14 @@
|
||||||
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been downloaded." data-inverted="" data-position="top left">
|
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been downloaded." data-inverted="" data-position="top left">
|
||||||
<i class="ui download icon"></i>
|
<i class="ui download icon"></i>
|
||||||
</div>
|
</div>
|
||||||
|
%elif row[0] == 2:
|
||||||
|
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been manually downloaded." data-inverted="" data-position="top left">
|
||||||
|
<i class="ui user icon"></i>
|
||||||
|
</div>
|
||||||
|
%elif row[0] == 3:
|
||||||
|
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been upgraded." data-inverted="" data-position="top left">
|
||||||
|
<i class="ui recycle icon"></i>
|
||||||
|
</div>
|
||||||
%end
|
%end
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -75,7 +84,20 @@
|
||||||
{{pretty.date(int(row[2]))}}
|
{{pretty.date(int(row[2]))}}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>{{row[3]}}</td>
|
<td>
|
||||||
|
% upgradable_criteria = (row[5], row[2])
|
||||||
|
% if upgradable_criteria in upgradable_movies:
|
||||||
|
% if row[7] in ast.literal_eval(str(row[6])):
|
||||||
|
<div class="ui inverted basic compact icon" data-tooltip="This subtitles is eligible to an upgrade." data-inverted="" data-position="top left">
|
||||||
|
<i class="ui green recycle icon"></i>{{row[3]}}
|
||||||
|
</div>
|
||||||
|
% else:
|
||||||
|
{{row[3]}}
|
||||||
|
% end
|
||||||
|
% else:
|
||||||
|
{{row[3]}}
|
||||||
|
%end
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
%end
|
%end
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
%import ast
|
||||||
%import time
|
%import time
|
||||||
%import pretty
|
%import pretty
|
||||||
%for row in rows:
|
%for row in rows:
|
||||||
|
@ -67,6 +68,14 @@
|
||||||
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been downloaded." data-inverted="" data-position="top left">
|
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been downloaded." data-inverted="" data-position="top left">
|
||||||
<i class="ui download icon"></i>
|
<i class="ui download icon"></i>
|
||||||
</div>
|
</div>
|
||||||
|
%elif row[0] == 2:
|
||||||
|
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been manually downloaded." data-inverted="" data-position="top left">
|
||||||
|
<i class="ui user icon"></i>
|
||||||
|
</div>
|
||||||
|
%elif row[0] == 3:
|
||||||
|
<div class="ui inverted basic compact icon" data-tooltip="Subtitles file have been upgraded." data-inverted="" data-position="top left">
|
||||||
|
<i class="ui recycle icon"></i>
|
||||||
|
</div>
|
||||||
%end
|
%end
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -90,7 +99,20 @@
|
||||||
{{pretty.date(int(row[4]))}}
|
{{pretty.date(int(row[4]))}}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>{{row[5]}}</td>
|
<td>
|
||||||
|
% upgradable_criteria = (row[7], row[4])
|
||||||
|
% if upgradable_criteria in upgradable_episodes:
|
||||||
|
% if row[9] in ast.literal_eval(str(row[8])):
|
||||||
|
<div class="ui inverted basic compact icon" data-tooltip="This subtitles is eligible to an upgrade." data-inverted="" data-position="top left">
|
||||||
|
<i class="ui green recycle icon"></i>{{row[5]}}
|
||||||
|
</div>
|
||||||
|
% else:
|
||||||
|
{{row[5]}}
|
||||||
|
% end
|
||||||
|
% else:
|
||||||
|
{{row[5]}}
|
||||||
|
%end
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
%end
|
%end
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
@ -1137,6 +1137,27 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="middle aligned row upgrade_subs">
|
||||||
|
<div class="two wide column"></div>
|
||||||
|
<div class="right aligned four wide column">
|
||||||
|
<label>Upgrade manually downloaded subtitles</label>
|
||||||
|
</div>
|
||||||
|
<div class="one wide column">
|
||||||
|
<div id="settings_upgrade_manual" class="ui toggle checkbox" data-upgrade-manual={{settings.general.getboolean('upgrade_manual')}}>
|
||||||
|
<input name="settings_upgrade_manual" type="checkbox">
|
||||||
|
<label></label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="collapsed center aligned column">
|
||||||
|
<div class="ui basic icon"
|
||||||
|
data-tooltip='Enable or disable upgrade of manually searched and downloaded subtitles.'
|
||||||
|
data-inverted="">
|
||||||
|
<i class="help circle large icon"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="middle aligned row">
|
<div class="middle aligned row">
|
||||||
<div class="right aligned four wide column">
|
<div class="right aligned four wide column">
|
||||||
<label>Use embedded subtitles</label>
|
<label>Use embedded subtitles</label>
|
||||||
|
@ -2067,6 +2088,12 @@
|
||||||
$("#settings_upgrade_subs").checkbox('uncheck');
|
$("#settings_upgrade_subs").checkbox('uncheck');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($('#settings_upgrade_manual').data("upgrade-manual") === "True") {
|
||||||
|
$("#settings_upgrade_manual").checkbox('check');
|
||||||
|
} else {
|
||||||
|
$("#settings_upgrade_manual").checkbox('uncheck');
|
||||||
|
}
|
||||||
|
|
||||||
if ($('#settings_embedded').data("embedded") === "True") {
|
if ($('#settings_embedded').data("embedded") === "True") {
|
||||||
$("#settings_embedded").checkbox('check');
|
$("#settings_embedded").checkbox('check');
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue