diff --git a/MediaBrowser.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs b/MediaBrowser.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs index 668f023d2b..269da57683 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs @@ -523,6 +523,31 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings } } + private async Task AddLineupToAccount(ListingsProviderInfo info, CancellationToken cancellationToken) + { + var token = await GetToken(info, cancellationToken); + + if (string.IsNullOrWhiteSpace(token)) + { + throw new ArgumentException("Authentication required."); + } + + _logger.Info("Adding new LineUp "); + + var httpOptions = new HttpRequestOptions() + { + Url = ApiUrl + "/lineups/" + info.ListingsId, + UserAgent = UserAgent, + CancellationToken = cancellationToken + }; + + httpOptions.RequestHeaders["token"] = token; + + using (var response = await _httpClient.SendAsync(httpOptions, "PUT")) + { + } + } + public string Name { get { return "Schedules Direct"; } @@ -814,6 +839,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings public async Task Validate(ListingsProviderInfo info) { + await AddLineupToAccount(info, CancellationToken.None).ConfigureAwait(false); } public Task> GetLineups(ListingsProviderInfo info, string location) diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index a64ce31cf8..52bb41ba19 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -2200,6 +2200,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv } _config.SaveConfiguration("livetv", config); + + _taskManager.CancelIfRunningAndQueue(); } public async Task SaveListingProvider(ListingsProviderInfo info) @@ -2231,10 +2233,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv _config.SaveConfiguration("livetv", config); + _taskManager.CancelIfRunningAndQueue(); + return info; } - public Task> GetLineups(string providerId, string location) { var config = GetConfiguration(); diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index cea0363f49..674ee855f9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -823,5 +823,6 @@ "HeaderAddProvider": "Add Provider", "ErrorAddingTunerDevice": "There was an error adding the tuner device. Please ensure it is accessible and try again.", "ErrorSavingTvProvider": "There was an error saving the TV provider. Please ensure it is accessible and try again.", - "ErrorGettingTvLineups": "There was an error downloading tv lineups. Please ensure your username and password are correct and try again." + "ErrorGettingTvLineups": "There was an error downloading tv lineups. Please ensure your username and password are correct and try again.", + "MessageCreateAccountAt": "Create an account at {0}" }