mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
commit
daae42fc35
@ -201,6 +201,7 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
public bool EnableFolderView { get; set; }
|
public bool EnableFolderView { get; set; }
|
||||||
public bool EnableGroupingIntoCollections { get; set; }
|
public bool EnableGroupingIntoCollections { get; set; }
|
||||||
public bool DisplaySpecialsWithinSeasons { get; set; }
|
public bool DisplaySpecialsWithinSeasons { get; set; }
|
||||||
|
public bool DisplayCollectionsView { get; set; }
|
||||||
public string[] LocalNetworkAddresses { get; set; }
|
public string[] LocalNetworkAddresses { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -20,7 +20,7 @@ namespace MediaBrowser.Server.Implementations.Collections
|
|||||||
|
|
||||||
public bool IsHiddenFromUser(User user)
|
public bool IsHiddenFromUser(User user)
|
||||||
{
|
{
|
||||||
return !user.Configuration.DisplayCollectionsView;
|
return !ConfigurationManager.Configuration.DisplayCollectionsView;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string CollectionType
|
public override string CollectionType
|
||||||
|
@ -66,7 +66,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
return cacheFile;
|
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)
|
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);
|
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,
|
SeasonNumber = p.Episode == null ? null : p.Episode.Series,
|
||||||
IsSeries = p.IsSeries,
|
IsSeries = p.IsSeries,
|
||||||
IsRepeat = p.IsRepeat,
|
IsRepeat = p.IsRepeat,
|
||||||
// IsPremiere = !p.PreviouslyShown.HasValue,
|
IsPremiere = p.Premiere != null,
|
||||||
IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
||||||
IsMovie = p.Categories.Any(c => info.MovieCategories.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)),
|
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)
|
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 MovieDbEpisodeProviderMigration(ServerConfigurationManager),
|
||||||
new DbMigration(ServerConfigurationManager, TaskManager),
|
new DbMigration(ServerConfigurationManager, TaskManager),
|
||||||
new FolderViewSettingMigration(ServerConfigurationManager, UserManager),
|
new FolderViewSettingMigration(ServerConfigurationManager, UserManager),
|
||||||
new CollectionGroupingMigration(ServerConfigurationManager, UserManager)
|
new CollectionGroupingMigration(ServerConfigurationManager, UserManager),
|
||||||
|
new CollectionsViewMigration(ServerConfigurationManager, UserManager)
|
||||||
};
|
};
|
||||||
|
|
||||||
foreach (var task in migrations)
|
foreach (var task in migrations)
|
||||||
|
@ -72,6 +72,7 @@
|
|||||||
<Compile Include="INativeApp.cs" />
|
<Compile Include="INativeApp.cs" />
|
||||||
<Compile Include="MbLinkShortcutHandler.cs" />
|
<Compile Include="MbLinkShortcutHandler.cs" />
|
||||||
<Compile Include="Migrations\CollectionGroupingMigration.cs" />
|
<Compile Include="Migrations\CollectionGroupingMigration.cs" />
|
||||||
|
<Compile Include="Migrations\CollectionsViewMigration.cs" />
|
||||||
<Compile Include="Migrations\FolderViewSettingMigration.cs" />
|
<Compile Include="Migrations\FolderViewSettingMigration.cs" />
|
||||||
<Compile Include="Migrations\IVersionMigration.cs" />
|
<Compile Include="Migrations\IVersionMigration.cs" />
|
||||||
<Compile Include="Migrations\DbMigration.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…
x
Reference in New Issue
Block a user