This commit is contained in:
Moravčík, Marian 2020-05-07 15:24:20 +02:00
parent 9741ed2b91
commit 106528977a
5 changed files with 337 additions and 332 deletions

View File

@ -161,8 +161,7 @@ def sync_episodes():
event_stream.write(type='episode', action='insert', series=added_episode['sonarrSeriesId'], event_stream.write(type='episode', action='insert', series=added_episode['sonarrSeriesId'],
episode=added_episode['sonarrEpisodeId']) episode=added_episode['sonarrEpisodeId'])
else: else:
logging.debug('BAZARR unable to insert this episode into the database:', logging.debug('BAZARR unable to insert this episode into the database:{}'.format(path_replace(added_episode['path'])))
path_replace(added_episode['path']))
# Store subtitles for added or modified episodes # Store subtitles for added or modified episodes
for i, altered_episode in enumerate(altered_episodes, 1): for i, altered_episode in enumerate(altered_episodes, 1):

View File

@ -33,7 +33,6 @@ body {
.buttons_bars { .buttons_bars {
position: fixed; position: fixed;
top: 60px; top: 60px;
width: 100%;
z-index: 19; } z-index: 19; }
.topbar { .topbar {

File diff suppressed because one or more lines are too long

View File

@ -30,7 +30,6 @@ body {
.buttons_bars { .buttons_bars {
position: fixed; position: fixed;
top: 60px; top: 60px;
width: 100%;
z-index: 19; z-index: 19;
} }

View File

@ -1,9 +1,9 @@
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<title>{% block title %}Bazarr{% endblock %}</title> <title>{% block title %}Bazarr{% endblock %}</title>
{% block head_meta %} {% block head_meta %}
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="mobile-web-app-capable" content="yes"/> <meta name="mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="apple-mobile-web-app-capable" content="yes"/>
@ -17,9 +17,9 @@
<meta name="msapplication-config" content="{{ url_for('static',filename='browserconfig.xml') }}"> <meta name="msapplication-config" content="{{ url_for('static',filename='browserconfig.xml') }}">
<meta name="theme-color" content="#ffffff"> <meta name="theme-color" content="#ffffff">
{% endblock head_meta %} {% endblock head_meta %}
{% block head_css %} {% block head_css %}
<link href="{{ url_for('static',filename='plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static',filename='plugins/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
<!-- Custom CSS --> <!-- Custom CSS -->
<link href="{{ url_for('static',filename='css/style.css') }}" rel="stylesheet"> <link href="{{ url_for('static',filename='css/style.css') }}" rel="stylesheet">
@ -37,12 +37,12 @@
href="{{ url_for('static',filename='datatables/buttons.dataTables.min.css') }}"> href="{{ url_for('static',filename='datatables/buttons.dataTables.min.css') }}">
<link rel="stylesheet" type="text/css" <link rel="stylesheet" type="text/css"
href="{{ url_for('static',filename='plugins/datatables.net-bs4/css/dataTables.bootstrap4.min.css') }}"> href="{{ url_for('static',filename='plugins/datatables.net-bs4/css/dataTables.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap-select.css') }}" /> <link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap-select.css') }}"/>
<link rel="stylesheet" href="{{ url_for('static',filename='css/jquery.typeahead.min.css') }}" /> <link rel="stylesheet" href="{{ url_for('static',filename='css/jquery.typeahead.min.css') }}"/>
{% endblock head_css %} {% endblock head_css %}
{% block head %} {% block head %}
<style> <style>
.table td, .table th { .table td, .table th {
padding: .4rem !important; padding: .4rem !important;
@ -53,336 +53,344 @@
border: 1px solid #ced4da; border: 1px solid #ced4da;
} }
</style> </style>
{% endblock head %} {% endblock head %}
{% block page_head %} {% block page_head %}
{% endblock page_head %} {% endblock page_head %}
{% block head_tail %} {% block head_tail %}
{% endblock head_tail %} {% endblock head_tail %}
</head> </head>
<body class="fix-header fix-sidebar card-no-border"> <body class="fix-header fix-sidebar card-no-border">
<!-- ============================================================== -->
<!-- Preloader - style you can find in spinners.css -->
<!-- ============================================================== -->
<div class="preloader">
<svg class="circular" viewBox="25 25 50 50">
<circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"></circle>
</svg>
</div>
{% block page_body %}
<!-- ============================================================== -->
<!-- Main wrapper - style you can find in pages.scss -->
<!-- ============================================================== -->
<div id="main-wrapper">
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- Preloader - style you can find in spinners.css --> <!-- Topbar header - style you can find in pages.scss -->
<!-- ============================================================== --> <!-- ============================================================== -->
<div class="preloader"> <header class="topbar">
<svg class="circular" viewBox="25 25 50 50"> <nav class="navbar top-navbar navbar-expand-md navbar-light">
<circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"></circle> <!-- ============================================================== -->
</svg> <!-- Logo -->
</div> <!-- ============================================================== -->
{% block page_body %} <div class="navbar-header">
<!-- ============================================================== --> <a class="navbar-brand" href="{{ url_for('redirect_root') }}">
<!-- Main wrapper - style you can find in pages.scss --> <!-- Logo icon -->
<!-- ============================================================== --> <b>
<div id="main-wrapper"> <img src="{{ url_for('static',filename='logo128.png') }}" alt="homepage" width="40"
<!-- ============================================================== --> class="dark-logo"/>
<!-- Topbar header - style you can find in pages.scss --> </b></a>
<!-- ============================================================== --> <!--End Logo icon -->
<header class="topbar"> <!-- Logo text -->
<nav class="navbar top-navbar navbar-expand-md navbar-light"> </div>
<!-- ============================================================== -->
<!-- End Logo -->
<!-- ============================================================== -->
<div class="navbar-collapse">
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- Logo --> <!-- toggle and nav items -->
<!-- ============================================================== --> <!-- ============================================================== -->
<div class="navbar-header"> <ul class="navbar-nav mr-auto mt-md-0">
<a class="navbar-brand" href="{{ url_for('redirect_root') }}"> <!-- This is -->
<!-- Logo icon --> <li class="nav-item"><a
<b> class="nav-link nav-toggler d-block d-md-none text-muted hidden-xl-up"
<img src="{{ url_for('static',filename='logo128.png') }}" alt="homepage" width="40" href="javascript:void(0)"><i class="mdi mdi-menu"></i></a></li>
class="dark-logo"/> <li class="nav-item"><a
</b></a> class="nav-link sidebartoggler d-none d-md-block text-muted hidden-xl-up"
<!--End Logo icon --> href="javascript:void(0)"><i class="ti-menu"></i></a></li>
<!-- Logo text -->
</div>
<!-- ============================================================== -->
<!-- End Logo -->
<!-- ============================================================== -->
<div class="navbar-collapse">
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- toggle and nav items --> <!-- Search -->
<!-- ============================================================== --> <!-- ============================================================== -->
<ul class="navbar-nav mr-auto mt-md-0"> <li class="nav-item hidden-sm-down search-box">
<!-- This is --> <form class="form-material">
<li class="nav-item"><a <div class="typeahead__container">
class="nav-link nav-toggler d-block d-md-none text-muted hidden-xl-up" <div class="typeahead__field">
href="javascript:void(0)"><i class="mdi mdi-menu"></i></a></li> <div class="typeahead__query">
<li class="nav-item"><a <input class="form-control text-white js-typeahead" id="search"
class="nav-link sidebartoggler d-none d-md-block text-muted hidden-xl-up" placeholder="Search..." autocomplete="off">
href="javascript:void(0)"><i class="ti-menu"></i></a></li>
<!-- ============================================================== -->
<!-- Search -->
<!-- ============================================================== -->
<li class="nav-item hidden-sm-down search-box">
<form class="form-material">
<div class="typeahead__container">
<div class="typeahead__field">
<div class="typeahead__query">
<input class="form-control text-white js-typeahead" id="search" placeholder="Search..." autocomplete="off">
</div>
</div> </div>
</div> </div>
</form>
</li>
</ul>
<!-- ============================================================== -->
<!-- User profile and search -->
<!-- ============================================================== -->
<ul class="navbar-nav my-lg-0">
<!-- ============================================================== -->
<!-- Profile -->
<!-- ============================================================== -->
<li class="nav-item">
<a class="nav-link text-muted fas fa-heart" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url" target=”_blank”></a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle text-muted fas fa-user" href=""
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a>
<div class="dropdown-menu dropdown-menu-right scale-up">
<ul class="dropdown-user">
<li><a id="restart"><i class="fas fa-redo"></i> Restart</a></li>
<li><a id="shutdown"><i class="fas fa-power-off"></i> Shutdown</a></li>
{% if settings.auth.type != 'None' %}
<li><a href="{{ url_for('logout') }}"><i class="fas fa-sign-out-alt"></i> Logout</a></li>
{% endif %}
</ul>
</div> </div>
</li> </form>
</ul> </li>
</div> </ul>
</nav> <!-- ============================================================== -->
</header> <!-- User profile and search -->
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- End Topbar header --> <ul class="navbar-nav my-lg-0">
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- ============================================================== --> <!-- Profile -->
<!-- Left Sidebar - style you can find in sidebar.scss --> <!-- ============================================================== -->
<!-- ============================================================== --> <li class="nav-item">
<aside class="left-sidebar"> <a class="nav-link text-muted fas fa-heart"
<!-- Sidebar scroll--> href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url"
<div class="scroll-sidebar"> target=”_blank”></a>
<!-- Sidebar navigation--> </li>
<nav class="sidebar-nav"> <li class="nav-item dropdown">
<ul id="sidebarnav"> <a class="nav-link dropdown-toggle text-muted fas fa-user" href=""
{% if settings.general.getboolean('use_sonarr') %} data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a>
<div class="dropdown-menu dropdown-menu-right scale-up">
<ul class="dropdown-user">
<li><a id="restart"><i class="fas fa-redo"></i> Restart</a></li>
<li><a id="shutdown"><i class="fas fa-power-off"></i> Shutdown</a></li>
{% if settings.auth.type != 'None' %}
<li><a href="{{ url_for('logout') }}"><i class="fas fa-sign-out-alt"></i> Logout</a>
</li>
{% endif %}
</ul>
</div>
</li>
</ul>
</div>
</nav>
</header>
<!-- ============================================================== -->
<!-- End Topbar header -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Left Sidebar - style you can find in sidebar.scss -->
<!-- ============================================================== -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div class="scroll-sidebar">
<!-- Sidebar navigation-->
<nav class="sidebar-nav">
<ul id="sidebarnav">
{% if settings.general.getboolean('use_sonarr') %}
<li id="series_nav"><a href="{{ url_for('series') }}"><i class="fas fa-play"></i><span <li id="series_nav"><a href="{{ url_for('series') }}"><i class="fas fa-play"></i><span
class="hide-menu"> Series</span></a> class="hide-menu"> Series</span></a>
</li> </li>
{% endif %} {% endif %}
{% if settings.general.getboolean('use_radarr') %} {% if settings.general.getboolean('use_radarr') %}
<li id="movies_nav"><a href="{{ url_for('movies') }}"><i class="fas fa-film"></i><span <li id="movies_nav"><a href="{{ url_for('movies') }}"><i class="fas fa-film"></i><span
class="hide-menu"> Movies</span></a> class="hide-menu"> Movies</span></a>
</li> </li>
{% endif %} {% endif %}
<li><a href="#"><i class="fas fa-clock"></i><span class="hide-menu"> History</span></a> <li><a href="#"><i class="fas fa-clock"></i><span class="hide-menu"> History</span></a>
<ul aria-expanded="false" class="collapse"> <ul aria-expanded="false" class="collapse">
{% if settings.general.getboolean('use_sonarr') %} {% if settings.general.getboolean('use_sonarr') %}
<li><a href="{{ url_for('historyseries') }}"> Series</a></li> <li><a href="{{ url_for('historyseries') }}"> Series</a></li>
{% endif %} {% endif %}
{% if settings.general.getboolean('use_radarr') %} {% if settings.general.getboolean('use_radarr') %}
<li><a href="{{ url_for('historymovies') }}"> Movies</a></li> <li><a href="{{ url_for('historymovies') }}"> Movies</a></li>
{% endif %} {% endif %}
</ul> </ul>
</li> </li>
<li><a href="#"><i class="fas fa-exclamation-triangle"></i><span class="hide-menu"> Wanted</span></a> <li><a href="#"><i class="fas fa-exclamation-triangle"></i><span
<ul aria-expanded="false" class="collapse"> class="hide-menu"> Wanted</span></a>
{% if settings.general.getboolean('use_sonarr') %} <ul aria-expanded="false" class="collapse">
{% if settings.general.getboolean('use_sonarr') %}
<li><a href="{{ url_for('wantedseries') }}"> Series</a></li> <li><a href="{{ url_for('wantedseries') }}"> Series</a></li>
{% endif %} {% endif %}
{% if settings.general.getboolean('use_radarr') %} {% if settings.general.getboolean('use_radarr') %}
<li><a href="{{ url_for('wantedmovies') }}"> Movies</a></li> <li><a href="{{ url_for('wantedmovies') }}"> Movies</a></li>
{% endif %} {% endif %}
</ul> </ul>
</li> </li>
<li><a href="#"><i <li><a href="#"><i
class="fas fa-cogs"></i><span class="hide-menu"> Settings</span></a> class="fas fa-cogs"></i><span class="hide-menu"> Settings</span></a>
<ul aria-expanded="false" class="collapse"> <ul aria-expanded="false" class="collapse">
<li><a href="{{ url_for('settingsgeneral') }}"> General</a></li> <li><a href="{{ url_for('settingsgeneral') }}"> General</a></li>
<li><a href="{{ url_for('settingssonarr') }}"> Sonarr</a></li> <li><a href="{{ url_for('settingssonarr') }}"> Sonarr</a></li>
<li><a href="{{ url_for('settingsradarr') }}"> Radarr</a></li> <li><a href="{{ url_for('settingsradarr') }}"> Radarr</a></li>
<li><a href="{{ url_for('settingssubtitles') }}"> Subtitles</a></li> <li><a href="{{ url_for('settingssubtitles') }}"> Subtitles</a></li>
<li><a href="{{ url_for('settingslanguages') }}"> Languages</a></li> <li><a href="{{ url_for('settingslanguages') }}"> Languages</a></li>
<li><a href="{{ url_for('settingsproviders') }}"> Providers</a></li> <li><a href="{{ url_for('settingsproviders') }}"> Providers</a></li>
<li><a href="{{ url_for('settingsnotifications') }}"> Notifications</a></li> <li><a href="{{ url_for('settingsnotifications') }}"> Notifications</a></li>
<li><a href="{{ url_for('settingsscheduler') }}"> Scheduler</a></li> <li><a href="{{ url_for('settingsscheduler') }}"> Scheduler</a></li>
</ul> </ul>
</li> </li>
<li><a href="#"><i <li><a href="#"><i
class="fas fa-laptop"></i><span class="hide-menu"> System</span></a> class="fas fa-laptop"></i><span class="hide-menu"> System</span></a>
<ul aria-expanded="false" class="collapse"> <ul aria-expanded="false" class="collapse">
<li><a href="{{ url_for('systemtasks') }}"> Tasks</a></li> <li><a href="{{ url_for('systemtasks') }}"> Tasks</a></li>
<li><a href="{{ url_for('systemlogs') }}"> Logs</a></li> <li><a href="{{ url_for('systemlogs') }}"> Logs</a></li>
<li><a href="{{ url_for('systemproviders') }}"> Providers</a></li> <li><a href="{{ url_for('systemproviders') }}"> Providers</a></li>
<li><a href="{{ url_for('systemstatus') }}"> Status</a></li> <li><a href="{{ url_for('systemstatus') }}"> Status</a></li>
<li><a href="{{ url_for('systemreleases') }}"> Releases</a></li> <li><a href="{{ url_for('systemreleases') }}"> Releases</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</nav> </nav>
<!-- End Sidebar navigation --> <!-- End Sidebar navigation -->
</div> </div>
<!-- End Sidebar scroll--> <!-- End Sidebar scroll-->
</aside> </aside>
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- End Left Sidebar - style you can find in sidebar.scss --> <!-- End Left Sidebar - style you can find in sidebar.scss -->
<!-- ============================================================== --> <!-- ============================================================== -->
<div class="page-wrapper"> <div class="page-wrapper">
<div class="container-fluid"> <div class="container-fluid">
{% block breadcrumb %} {% block breadcrumb %}
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- Bread crumb and right sidebar toggle --> <!-- Bread crumb and right sidebar toggle -->
<!-- ============================================================== --> <!-- ============================================================== -->
<div id="buttons_bars" class="row page-titles buttons_bars"> <div id="buttons_bars" class="row page-titles buttons_bars">
<div id="buttons_bar_left" class="col-md-5 col-8 align-self-center"> <div id="buttons_bar_left" class="col-8 align-self-center">
{% block bcleft %} {% block bcleft %}
{% endblock bcleft %} {% endblock bcleft %}
</div>
<div id="buttons_bar_right" class="col-md-7 col-4 align-self-center">
{% block bcright %}
{% endblock bcright %}
</div>
</div> </div>
{% endblock breadcrumb %} <div id="buttons_bar_right" class="col-4 align-self-center">
{% block body %} {% block bcright %}
{% endblock bcright %}
</div>
</div>
{% endblock breadcrumb %}
{% block body %}
{% endblock body %} {% endblock body %}
</div>
</div>
<!-- ============================================================== -->
<!-- footer -->
<!-- ============================================================== -->
</div>
<!-- ============================================================== -->
<!-- End footer -->
<!-- ============================================================== -->
<div id="reconnect_overlay" class="overlay">
<div class="overlay-content">
<p id="loader_text" style="color: white;">Connection to Backend Lost.</p>
<button id="loader_button" class="btn btn-info" onclick="window.location.reload()">Reload</button>
</div> </div>
</div> </div>
{% endblock page_body %}
{% block tail_js %}
<!-- ============================================================== --> <!-- ============================================================== -->
<!-- All Jquery --> <!-- footer -->
<!-- ============================================================== --> <!-- ============================================================== -->
<script src="{{ url_for('static',filename='plugins/jquery/jquery.min.js') }}"></script> </div>
<!-- Bootstrap tether Core JavaScript --> <!-- ============================================================== -->
<script src="{{ url_for('static',filename='plugins/popper/popper.min.js') }}"></script> <!-- End footer -->
<script src="{{ url_for('static',filename='plugins/bootstrap/js/bootstrap.min.js') }}"></script> <!-- ============================================================== -->
<!-- slimscrollbar scrollbar JavaScript -->
<script src="{{ url_for('static',filename='js/jquery.slimscroll.js') }}"></script>
<!--Menu sidebar -->
<script src="{{ url_for('static',filename='js/sidebarmenu.js') }}"></script>
<!--stickey kit --> <div id="reconnect_overlay" class="overlay">
<script src="{{ url_for('static',filename='plugins/sticky-kit-master/dist/sticky-kit.min.js') }}"></script> <div class="overlay-content">
<!--Custom JavaScript --> <p id="loader_text" style="color: white;">Connection to Backend Lost.</p>
<script src="{{ url_for('static',filename='datatables/jquery.dataTables.min.js') }}"></script> <button id="loader_button" class="btn btn-info" onclick="window.location.reload()">Reload</button>
<script src="{{ url_for('static',filename='datatables/dataTables.rowGroup.min.js') }}"></script> </div>
<script src="{{ url_for('static',filename='datatables/dataTables.responsive.min.js') }}"></script> </div>
<script src="{{ url_for('static',filename='datatables/dataTables.select.min.js') }}"></script> {% endblock page_body %}
<script src="{{ url_for('static',filename='datatables/dataTables.buttons.min.js') }}"></script>
<script src="{{ url_for('static',filename='plugins/datatables.net-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
<script src="{{ url_for('static',filename='datatables-alteditor/dataTables.altEditor.free.js') }}"></script>
<script src="{{ url_for('static',filename='js/custom.js') }}"></script>
<script src="{{ url_for('static',filename='js/socket.io.js') }}"></script>
<script src="{{ url_for('static',filename='js/bootstrap-select.min.js') }}"></script>
<script src="{{ url_for('static',filename='moment/moment.js') }}"></script>
<script src="{{ url_for('static',filename='js/jquery.typeahead.min.js') }}"></script>
<script>
$(document).ready(function () {
BadgesAjax();
$('.table').on('draw.dt', function () { {% block tail_js %}
$('[data-toggle="tooltip"]').tooltip({html: true});
});
events = io.connect({ <!-- ============================================================== -->
path: '{{ settings.general.base_url.rstrip('/') }}/socket.io', <!-- All Jquery -->
upgrade: false, <!-- ============================================================== -->
reconnection: true, <script src="{{ url_for('static',filename='plugins/jquery/jquery.min.js') }}"></script>
reconnectionDelay: 1000, <!-- Bootstrap tether Core JavaScript -->
reconnectionDelayMax : 3000, <script src="{{ url_for('static',filename='plugins/popper/popper.min.js') }}"></script>
reconnectionAttempts: 3 <script src="{{ url_for('static',filename='plugins/bootstrap/js/bootstrap.min.js') }}"></script>
}); <!-- slimscrollbar scrollbar JavaScript -->
<script src="{{ url_for('static',filename='js/jquery.slimscroll.js') }}"></script>
<!--Menu sidebar -->
<script src="{{ url_for('static',filename='js/sidebarmenu.js') }}"></script>
events.on('reconnect_failed', (reason) => { <!--stickey kit -->
$('#reconnect_overlay').show(); <script src="{{ url_for('static',filename='plugins/sticky-kit-master/dist/sticky-kit.min.js') }}"></script>
}); <!--Custom JavaScript -->
<script src="{{ url_for('static',filename='datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url_for('static',filename='datatables/dataTables.rowGroup.min.js') }}"></script>
<script src="{{ url_for('static',filename='datatables/dataTables.responsive.min.js') }}"></script>
<script src="{{ url_for('static',filename='datatables/dataTables.select.min.js') }}"></script>
<script src="{{ url_for('static',filename='datatables/dataTables.buttons.min.js') }}"></script>
<script src="{{ url_for('static',filename='plugins/datatables.net-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
<script src="{{ url_for('static',filename='datatables-alteditor/dataTables.altEditor.free.js') }}"></script>
<script src="{{ url_for('static',filename='js/custom.js') }}"></script>
<script src="{{ url_for('static',filename='js/socket.io.js') }}"></script>
<script src="{{ url_for('static',filename='js/bootstrap-select.min.js') }}"></script>
<script src="{{ url_for('static',filename='moment/moment.js') }}"></script>
<script src="{{ url_for('static',filename='js/jquery.typeahead.min.js') }}"></script>
function BadgesAjax() { <script>
$.ajax({ $(document).ready(function () {
url: "{{url_for('api.badges')}}", BadgesAjax();
async: true, $(window).on('load resize', function () {
success: function (data) { $('#buttons_bars').width($('.page-wrapper').width());
if (data['throttled_providers']) { });
$('#throttled_providers_count').append('<div class="floating ui tiny yellow label" style="left:90% !important;top:0.5em !important;">' + data['throttled_providers'] + '</div>');
}
if (data['missing_episodes']) {
$('#wanted').append('<div class="floating ui tiny yellow label" style="left:90% !important;top:0.5em !important;">' + data['missing_episodes'] + '</div>');
}
if (data['missing_movies']) {
$('#wanted').append('<div id="wanted_movies" class="floating ui tiny green label" style="left:90% !important;top:3em !important;">' + data['missing_movies'] + '</div>');
}
}, $('.table').on('draw.dt', function () {
error: (function () { $('[data-toggle="tooltip"]').tooltip({html: true});
setTimeout(function () { });
setInterval(ping, 2000);
}, 8000); events = io.connect({
}) path: '{{ settings.general.base_url.rstrip('/') }}/socket.io',
upgrade: false,
reconnection: true,
reconnectionDelay: 1000,
reconnectionDelayMax: 3000,
reconnectionAttempts: 3
});
events.on('reconnect_failed', (reason) => {
$('#reconnect_overlay').show();
});
function BadgesAjax() {
$.ajax({
url: "{{url_for('api.badges')}}",
async: true,
success: function (data) {
if (data['throttled_providers']) {
$('#throttled_providers_count').append('<div class="floating ui tiny yellow label" style="left:90% !important;top:0.5em !important;">' + data['throttled_providers'] + '</div>');
}
if (data['missing_episodes']) {
$('#wanted').append('<div class="floating ui tiny yellow label" style="left:90% !important;top:0.5em !important;">' + data['missing_episodes'] + '</div>');
}
if (data['missing_movies']) {
$('#wanted').append('<div id="wanted_movies" class="floating ui tiny green label" style="left:90% !important;top:3em !important;">' + data['missing_movies'] + '</div>');
}
},
error: (function () {
setTimeout(function () {
setInterval(ping, 2000);
}, 8000);
}) })
} })
}
$('#search').typeahead({ $('#search').typeahead({
display: 'name', display: 'name',
debug: false, debug: false,
cancelButton: true, cancelButton: true,
loadingAnimation: true, loadingAnimation: true,
asyncResult: false, asyncResult: false,
dynamic: true, dynamic: true,
delay: 300, delay: 300,
source: { source: {
search: { search: {
ajax: function (query) { ajax: function (query) {
return { return {
url: '{{ url_for("api.search")}}', url: '{{ url_for("api.search")}}',
type: 'GET', type: 'GET',
data: { data: {
query: query query: query
}
} }
} }
} }
},
callback: {
onClick: function (node, a, item, event) {
window.location.pathname = item.url;
}
} }
}); },
callback: {
if ( $('#buttons_bar_left').children().length > 0 || $('#buttons_bar_right').children().length > 0 ) { onClick: function (node, a, item, event) {
$('#buttons_bars').show(); window.location.pathname = item.url;
} else { }
$('#buttons_bars').hide();
$('.page-wrapper').css('padding-top', '-=60');
} }
}); });
{% if request.endpoint == 'login_page' %} if ($('#buttons_bar_left').children().length > 0 || $('#buttons_bar_right').children().length > 0) {
$('#buttons_bars').show();
} else {
$('#buttons_bars').hide();
$('.page-wrapper').css('padding-top', '-=60');
}
});
{% if request.endpoint == 'login_page' %}
// Apikey excluded from login_page // Apikey excluded from login_page
{% else %} {% else %}
// Add apikey to all AJAX requests. // Add apikey to all AJAX requests.
$.ajaxSetup({ $.ajaxSetup({
data: { data: {
@ -394,45 +402,45 @@
originalOptions.data.append("apikey", "{{ settings.auth.apikey }}"); originalOptions.data.append("apikey", "{{ settings.auth.apikey }}");
} }
}); });
{% endif %} {% endif %}
$(window).on('beforeunload', function() { $(window).on('beforeunload', function () {
events.close(); events.close();
});
$('#restart').on('click', function () {
$('#loader_button').prop("hidden", true);
$('#loader_text').text("Bazarr is restarting, please wait...");
$('#reconnect_overlay').show();
$.ajax({
url: "{{ url_for('api.restart') }}"
})
setTimeout(function () {
setInterval(ping, 2000);
}, 8000);
});
function ping() {
$.ajax({
url: window.location.href,
success: function () {
window.location.reload(true);
}
}); });
}
$('#restart').on('click', function() { $('#shutdown').on('click', function () {
$('#loader_button').prop("hidden", true); document.open();
$('#loader_text').text("Bazarr is restarting, please wait..."); document.write('Bazarr has shutdown.');
$('#reconnect_overlay').show(); document.close();
$.ajax({ $.ajax({
url: "{{ url_for('api.restart') }}" url: "{{ url_for('api.shutdown') }}",
}) async: true
setTimeout(function () { })
setInterval(ping, 2000); });
}, 8000); </script>
}); {% endblock tail_js %}
{% block tail %}
function ping() { {% endblock tail %}
$.ajax({ </body>
url: window.location.href,
success: function() {
window.location.reload(true);
}
});
}
$('#shutdown').on('click', function(){
document.open();
document.write('Bazarr has shutdown.');
document.close();
$.ajax({
url: "{{ url_for('api.shutdown') }}",
async: true
})
});
</script>
{% endblock tail_js %}
{% block tail %}
{% endblock tail %}
</body>
</html> </html>