diff --git a/bazarr/get_providers.py b/bazarr/get_providers.py index b25267c05..e80d46ce9 100644 --- a/bazarr/get_providers.py +++ b/bazarr/get_providers.py @@ -8,6 +8,7 @@ import time from get_args import args from config import settings +from websocket_handler import event_stream from subliminal_patch.exceptions import TooManyRequests, APIThrottled, ParseResponseError from subliminal.exceptions import DownloadLimitExceeded, ServiceUnavailable from subliminal import region as subliminal_cache_region @@ -235,6 +236,8 @@ def update_throttled_provider(): with open(os.path.join(args.config_dir, 'config', 'config.ini'), 'w+') as handle: settings.write(handle) + event_stream.write(type='badges') + def list_throttled_providers(): update_throttled_provider() diff --git a/bazarr/list_subtitles.py b/bazarr/list_subtitles.py index fe3f4488c..59a829e26 100644 --- a/bazarr/list_subtitles.py +++ b/bazarr/list_subtitles.py @@ -237,6 +237,7 @@ def list_missing_subtitles(no=None, epno=None): event_stream.write(type='episode', action='update', series=missing_subtitles_item[2], episode=missing_subtitles_item[1]) + event_stream.write(type='badges') def list_missing_subtitles_movies(no=None): @@ -296,6 +297,7 @@ def list_missing_subtitles_movies(no=None): (missing_subtitles_item[0], missing_subtitles_item[1])) event_stream.write(type='movie', action='update', movie=missing_subtitles_item[1]) + event_stream.write(type='badges') def series_full_scan_subtitles(): diff --git a/views/_main.html b/views/_main.html index ada1345d3..137b387e8 100644 --- a/views/_main.html +++ b/views/_main.html @@ -194,10 +194,12 @@ class="hide-menu"> Wanted @@ -221,7 +223,7 @@ @@ -328,19 +330,32 @@ $('#reconnect_overlay').show(); }); + events.on('event', function (event) { + var event_json_badges = JSON.parse(event); + if (event_json_badges.type === 'badges') { + BadgesAjax(); + } + }); + function BadgesAjax() { $.ajax({ url: "{{url_for('api.badges')}}", async: true, success: function (data) { if (data['throttled_providers']) { - $('#throttled_providers_count').append('
' + data['throttled_providers'] + '
'); + $('#throttled_providers_count').html('' + data['throttled_providers'] + ''); + } else { + $('#throttled_providers_count').html(''); } if (data['missing_episodes']) { - $('#wanted').append('
' + data['missing_episodes'] + '
'); + $('#wanted_series_badge').html('' + data['missing_episodes'] + ''); + } else { + $('#wanted_series_badge').html(''); } if (data['missing_movies']) { - $('#wanted').append('
' + data['missing_movies'] + '
'); + $('#wanted_movies_badge').html('' + data['missing_movies'] + ''); + } else { + $('#wanted_movies_badge').html(''); } },