mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 13:57:14 -04:00
commit
daae42fc35
@ -201,6 +201,7 @@ namespace MediaBrowser.Model.Configuration
|
||||
public bool EnableFolderView { get; set; }
|
||||
public bool EnableGroupingIntoCollections { get; set; }
|
||||
public bool DisplaySpecialsWithinSeasons { get; set; }
|
||||
public bool DisplayCollectionsView { get; set; }
|
||||
public string[] LocalNetworkAddresses { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
@ -20,7 +20,7 @@ namespace MediaBrowser.Server.Implementations.Collections
|
||||
|
||||
public bool IsHiddenFromUser(User user)
|
||||
{
|
||||
return !user.Configuration.DisplayCollectionsView;
|
||||
return !ConfigurationManager.Configuration.DisplayCollectionsView;
|
||||
}
|
||||
|
||||
public override string CollectionType
|
||||
|
@ -66,7 +66,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
||||
return cacheFile;
|
||||
}
|
||||
|
||||
// TODO: Should this method be async?
|
||||
public async Task<IEnumerable<ProgramInfo>> GetProgramsAsync(ListingsProviderInfo info, string channelNumber, string channelName, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
|
||||
{
|
||||
var path = await GetXml(info.Path, cancellationToken).ConfigureAwait(false);
|
||||
@ -89,7 +88,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
||||
SeasonNumber = p.Episode == null ? null : p.Episode.Series,
|
||||
IsSeries = p.IsSeries,
|
||||
IsRepeat = p.IsRepeat,
|
||||
// IsPremiere = !p.PreviouslyShown.HasValue,
|
||||
IsPremiere = p.Premiere != null,
|
||||
IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
||||
IsMovie = p.Categories.Any(c => info.MovieCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
||||
IsNews = p.Categories.Any(c => info.NewsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
||||
@ -147,7 +146,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
||||
|
||||
public async Task<List<ChannelInfo>> GetChannels(ListingsProviderInfo info, CancellationToken cancellationToken)
|
||||
{
|
||||
return new List<ChannelInfo>();
|
||||
// In theory this should never be called because there is always only one lineup
|
||||
var reader = new XmlTvReader(info.Path, GetLanguage(), null);
|
||||
var results = reader.GetChannels();
|
||||
|
||||
// Should this method be async?
|
||||
return results.Select(c => new ChannelInfo()
|
||||
{
|
||||
Id = c.Id,
|
||||
Name = c.DisplayName,
|
||||
ImageUrl = c.Icon != null && !String.IsNullOrEmpty(c.Icon.Source) ? c.Icon.Source : null
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
}
|
@ -382,7 +382,8 @@ namespace MediaBrowser.Server.Startup.Common
|
||||
new MovieDbEpisodeProviderMigration(ServerConfigurationManager),
|
||||
new DbMigration(ServerConfigurationManager, TaskManager),
|
||||
new FolderViewSettingMigration(ServerConfigurationManager, UserManager),
|
||||
new CollectionGroupingMigration(ServerConfigurationManager, UserManager)
|
||||
new CollectionGroupingMigration(ServerConfigurationManager, UserManager),
|
||||
new CollectionsViewMigration(ServerConfigurationManager, UserManager)
|
||||
};
|
||||
|
||||
foreach (var task in migrations)
|
||||
|
@ -72,6 +72,7 @@
|
||||
<Compile Include="INativeApp.cs" />
|
||||
<Compile Include="MbLinkShortcutHandler.cs" />
|
||||
<Compile Include="Migrations\CollectionGroupingMigration.cs" />
|
||||
<Compile Include="Migrations\CollectionsViewMigration.cs" />
|
||||
<Compile Include="Migrations\FolderViewSettingMigration.cs" />
|
||||
<Compile Include="Migrations\IVersionMigration.cs" />
|
||||
<Compile Include="Migrations\DbMigration.cs" />
|
||||
|
@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Library;
|
||||
|
||||
namespace MediaBrowser.Server.Startup.Common.Migrations
|
||||
{
|
||||
public class CollectionsViewMigration : IVersionMigration
|
||||
{
|
||||
private readonly IServerConfigurationManager _config;
|
||||
private readonly IUserManager _userManager;
|
||||
|
||||
public CollectionsViewMigration(IServerConfigurationManager config, IUserManager userManager)
|
||||
{
|
||||
_config = config;
|
||||
_userManager = userManager;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
var migrationKey = this.GetType().Name;
|
||||
var migrationKeyList = _config.Configuration.Migrations.ToList();
|
||||
|
||||
if (!migrationKeyList.Contains(migrationKey))
|
||||
{
|
||||
if (_config.Configuration.IsStartupWizardCompleted)
|
||||
{
|
||||
if (_userManager.Users.Any(i => i.Configuration.DisplayCollectionsView))
|
||||
{
|
||||
_config.Configuration.DisplayCollectionsView = true;
|
||||
}
|
||||
}
|
||||
|
||||
migrationKeyList.Add(migrationKey);
|
||||
_config.Configuration.Migrations = migrationKeyList.ToArray();
|
||||
_config.SaveConfiguration();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user