aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Channels
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Channels')
-rw-r--r--Emby.Server.Implementations/Channels/ChannelDynamicMediaSourceProvider.cs8
-rw-r--r--Emby.Server.Implementations/Channels/ChannelImageProvider.cs13
-rw-r--r--Emby.Server.Implementations/Channels/ChannelManager.cs83
-rw-r--r--Emby.Server.Implementations/Channels/ChannelPostScanTask.cs8
-rw-r--r--Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs45
5 files changed, 65 insertions, 92 deletions
diff --git a/Emby.Server.Implementations/Channels/ChannelDynamicMediaSourceProvider.cs b/Emby.Server.Implementations/Channels/ChannelDynamicMediaSourceProvider.cs
index 8448d3640..c10f00f9b 100644
--- a/Emby.Server.Implementations/Channels/ChannelDynamicMediaSourceProvider.cs
+++ b/Emby.Server.Implementations/Channels/ChannelDynamicMediaSourceProvider.cs
@@ -1,11 +1,11 @@
-using MediaBrowser.Controller.Channels;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Model.Dto;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Channels;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
+using MediaBrowser.Model.Dto;
namespace Emby.Server.Implementations.Channels
{
diff --git a/Emby.Server.Implementations/Channels/ChannelImageProvider.cs b/Emby.Server.Implementations/Channels/ChannelImageProvider.cs
index a6643e83c..bafa68818 100644
--- a/Emby.Server.Implementations/Channels/ChannelImageProvider.cs
+++ b/Emby.Server.Implementations/Channels/ChannelImageProvider.cs
@@ -1,11 +1,11 @@
-using MediaBrowser.Controller.Channels;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Channels;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Entities;
namespace Emby.Server.Implementations.Channels
{
@@ -30,10 +30,7 @@ namespace Emby.Server.Implementations.Channels
return channel.GetChannelImage(type, cancellationToken);
}
- public string Name
- {
- get { return "Channel Image Provider"; }
- }
+ public string Name => "Channel Image Provider";
public bool Supports(BaseItem item)
{
diff --git a/Emby.Server.Implementations/Channels/ChannelManager.cs b/Emby.Server.Implementations/Channels/ChannelManager.cs
index c2160d338..660547c85 100644
--- a/Emby.Server.Implementations/Channels/ChannelManager.cs
+++ b/Emby.Server.Implementations/Channels/ChannelManager.cs
@@ -1,37 +1,30 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Channels;
-using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Dto;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Channels;
-using MediaBrowser.Model.Dto;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Extensions;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.MediaInfo;
-using MediaBrowser.Model.Net;
-using MediaBrowser.Model.Querying;
-using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Net;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Net;
using MediaBrowser.Common.Progress;
-using MediaBrowser.Model.IO;
+using MediaBrowser.Controller.Channels;
+using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Controller.Dto;
+using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Controller.Plugins;
+using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Channels;
+using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization;
-using MediaBrowser.Model.Tasks;
+using MediaBrowser.Model.IO;
+using MediaBrowser.Model.Querying;
+using MediaBrowser.Model.Serialization;
+using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Channels
{
@@ -52,12 +45,23 @@ namespace Emby.Server.Implementations.Channels
private readonly ILocalizationManager _localization;
- public ChannelManager(IUserManager userManager, IDtoService dtoService, ILibraryManager libraryManager, ILogger logger, IServerConfigurationManager config, IFileSystem fileSystem, IUserDataManager userDataManager, IJsonSerializer jsonSerializer, ILocalizationManager localization, IHttpClient httpClient, IProviderManager providerManager)
+ public ChannelManager(
+ IUserManager userManager,
+ IDtoService dtoService,
+ ILibraryManager libraryManager,
+ ILoggerFactory loggerFactory,
+ IServerConfigurationManager config,
+ IFileSystem fileSystem,
+ IUserDataManager userDataManager,
+ IJsonSerializer jsonSerializer,
+ ILocalizationManager localization,
+ IHttpClient httpClient,
+ IProviderManager providerManager)
{
_userManager = userManager;
_dtoService = dtoService;
_libraryManager = libraryManager;
- _logger = logger;
+ _logger = loggerFactory.CreateLogger(nameof(ChannelManager));
_config = config;
_fileSystem = fileSystem;
_userDataManager = userDataManager;
@@ -67,13 +71,7 @@ namespace Emby.Server.Implementations.Channels
_providerManager = providerManager;
}
- private TimeSpan CacheLength
- {
- get
- {
- return TimeSpan.FromHours(3);
- }
- }
+ private static TimeSpan CacheLength => TimeSpan.FromHours(3);
public void AddParts(IEnumerable<IChannel> channels)
{
@@ -269,6 +267,7 @@ namespace Emby.Server.Implementations.Channels
{
};
+ //TODO Fix The co-variant conversion (internalResult.Items) between Folder[] and BaseItem[], this can generate runtime issues.
var returnItems = _dtoService.GetBaseItemDtos(internalResult.Items, dtoOptions, user);
var result = new QueryResult<BaseItemDto>
@@ -399,9 +398,7 @@ namespace Emby.Server.Implementations.Channels
private async Task<IEnumerable<MediaSourceInfo>> GetChannelItemMediaSourcesInternal(IRequiresMediaInfoCallback channel, string id, CancellationToken cancellationToken)
{
- Tuple<DateTime, List<MediaSourceInfo>> cachedInfo;
-
- if (_channelItemMediaInfo.TryGetValue(id, out cachedInfo))
+ if (_channelItemMediaInfo.TryGetValue(id, out Tuple<DateTime, List<MediaSourceInfo>> cachedInfo))
{
if ((DateTime.UtcNow - cachedInfo.Item1).TotalMinutes < 5)
{
@@ -419,7 +416,7 @@ namespace Emby.Server.Implementations.Channels
return list;
}
- private MediaSourceInfo NormalizeMediaSource(BaseItem item, MediaSourceInfo info)
+ private static MediaSourceInfo NormalizeMediaSource(BaseItem item, MediaSourceInfo info)
{
info.RunTimeTicks = info.RunTimeTicks ?? item.RunTimeTicks;
@@ -492,7 +489,7 @@ namespace Emby.Server.Implementations.Channels
return item;
}
- private string GetOfficialRating(ChannelParentalRating rating)
+ private static string GetOfficialRating(ChannelParentalRating rating)
{
switch (rating)
{
@@ -533,7 +530,7 @@ namespace Emby.Server.Implementations.Channels
{
if (string.IsNullOrEmpty(id))
{
- throw new ArgumentNullException("id");
+ throw new ArgumentNullException(nameof(id));
}
var channel = GetChannel(id);
@@ -577,7 +574,7 @@ namespace Emby.Server.Implementations.Channels
{
if (string.IsNullOrEmpty(name))
{
- throw new ArgumentNullException("name");
+ throw new ArgumentNullException(nameof(name));
}
return _libraryManager.GetNewItemId("Channel " + name, typeof(Channel));
}
@@ -630,7 +627,7 @@ namespace Emby.Server.Implementations.Channels
if (sortByPremiereDate)
{
- query.OrderBy = new []
+ query.OrderBy = new[]
{
new ValueTuple<string, SortOrder>(ItemSortBy.PremiereDate, SortOrder.Descending),
new ValueTuple<string, SortOrder>(ItemSortBy.ProductionYear, SortOrder.Descending),
@@ -639,7 +636,7 @@ namespace Emby.Server.Implementations.Channels
}
else
{
- query.OrderBy = new []
+ query.OrderBy = new[]
{
new ValueTuple<string, SortOrder>(ItemSortBy.DateCreated, SortOrder.Descending)
};
@@ -891,7 +888,7 @@ namespace Emby.Server.Implementations.Channels
filename + ".json");
}
- private string GetIdToHash(string externalId, string channelName)
+ private static string GetIdToHash(string externalId, string channelName)
{
// Increment this as needed to force new downloads
// Incorporate Name because it's being used to convert channel entity to provider
@@ -902,7 +899,7 @@ namespace Emby.Server.Implementations.Channels
where T : BaseItem, new()
{
var id = _libraryManager.GetNewItemId(GetIdToHash(idString, channelName), typeof(T));
-
+
T item = null;
try
@@ -1187,7 +1184,7 @@ namespace Emby.Server.Implementations.Channels
{
if (channel == null)
{
- throw new ArgumentNullException("channel");
+ throw new ArgumentNullException(nameof(channel));
}
var result = GetAllChannels()
diff --git a/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs b/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs
index bd717bc6a..ad6c537ef 100644
--- a/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs
+++ b/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs
@@ -1,11 +1,11 @@
-using MediaBrowser.Controller.Channels;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using Microsoft.Extensions.Logging;
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Channels;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
+using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Channels
{
diff --git a/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs b/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs
index ab6acf3c5..844f77a1a 100644
--- a/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs
+++ b/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs
@@ -1,12 +1,12 @@
-using MediaBrowser.Controller.Channels;
-using MediaBrowser.Controller.Library;
-using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common.Progress;
+using MediaBrowser.Controller.Channels;
+using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Tasks;
+using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Channels
{
@@ -25,35 +25,17 @@ namespace Emby.Server.Implementations.Channels
_libraryManager = libraryManager;
}
- public string Name
- {
- get { return "Refresh Channels"; }
- }
+ public string Name => "Refresh Channels";
- public string Description
- {
- get { return "Refreshes internet channel information."; }
- }
+ public string Description => "Refreshes internet channel information.";
- public string Category
- {
- get { return "Internet Channels"; }
- }
+ public string Category => "Internet Channels";
- public bool IsHidden
- {
- get { return ((ChannelManager)_channelManager).Channels.Length == 0; }
- }
+ public bool IsHidden => ((ChannelManager)_channelManager).Channels.Length == 0;
- public bool IsEnabled
- {
- get { return true; }
- }
+ public bool IsEnabled => true;
- public bool IsLogged
- {
- get { return true; }
- }
+ public bool IsLogged => true;
public async Task Execute(CancellationToken cancellationToken, IProgress<double> progress)
{
@@ -70,16 +52,13 @@ namespace Emby.Server.Implementations.Channels
/// </summary>
public IEnumerable<TaskTriggerInfo> GetDefaultTriggers()
{
- return new[] {
-
+ return new[] {
+
// Every so often
new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks}
};
}
- public string Key
- {
- get { return "RefreshInternetChannels"; }
- }
+ public string Key => "RefreshInternetChannels";
}
}