mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
Moved TV into the main project and added Series properties to DTOBaseItem
This commit is contained in:
parent
2884df296c
commit
8b39ed2f63
@ -1,11 +1,12 @@
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Model.DTO;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api
|
||||
{
|
||||
@ -182,6 +183,7 @@ namespace MediaBrowser.Api
|
||||
dto.IsVirtualFolder = folder.IsVirtualFolder;
|
||||
}
|
||||
|
||||
// Add AudioInfo
|
||||
Audio audio = item as Audio;
|
||||
|
||||
if (audio != null)
|
||||
@ -196,6 +198,7 @@ namespace MediaBrowser.Api
|
||||
};
|
||||
}
|
||||
|
||||
// Add VideoInfo
|
||||
Video video = item as Video;
|
||||
|
||||
if (video != null)
|
||||
@ -219,6 +222,21 @@ namespace MediaBrowser.Api
|
||||
dto.VideoInfo.Subtitles = video.Subtitles.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
// Add SeriesInfo
|
||||
Series series = item as Series;
|
||||
|
||||
if (series != null)
|
||||
{
|
||||
DayOfWeek[] airDays = series.AirDays == null ? new DayOfWeek[] { } : series.AirDays.ToArray(); ;
|
||||
|
||||
dto.SeriesInfo = new SeriesInfo()
|
||||
{
|
||||
AirDays = airDays,
|
||||
AirTime = series.AirTime,
|
||||
Status = series.Status
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -8,6 +8,7 @@ using MediaBrowser.Controller.Weather;
|
||||
using MediaBrowser.Model.Authentication;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using MediaBrowser.Model.Progress;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -111,12 +112,6 @@ namespace MediaBrowser.Controller
|
||||
|
||||
// Sort the providers by priority
|
||||
MetadataProviders = MetadataProvidersEnumerable.OrderBy(e => e.Priority).ToArray();
|
||||
|
||||
// Initialize the metadata providers
|
||||
Parallel.ForEach(MetadataProviders, provider =>
|
||||
{
|
||||
provider.Init();
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -126,17 +121,26 @@ namespace MediaBrowser.Controller
|
||||
/// </summary>
|
||||
void ItemController_PreBeginResolvePath(object sender, PreBeginResolveEventArgs e)
|
||||
{
|
||||
// Ignore hidden files and folders
|
||||
if (e.IsHidden || e.IsSystemFile)
|
||||
{
|
||||
// Ignore hidden files and folders
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
// Ignore any folders named "trailers"
|
||||
else if (Path.GetFileName(e.Path).Equals("trailers", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// Ignore any folders named "trailers"
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
// Don't try and resolve files within the season metadata folder
|
||||
else if (Path.GetFileName(e.Path).Equals("metadata", StringComparison.OrdinalIgnoreCase) && e.IsDirectory)
|
||||
{
|
||||
if (e.Parent is Season || e.Parent is Series)
|
||||
{
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -383,26 +387,5 @@ namespace MediaBrowser.Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void DisposeComposableParts()
|
||||
{
|
||||
base.DisposeComposableParts();
|
||||
|
||||
DisposeProviders();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disposes all providers
|
||||
/// </summary>
|
||||
private void DisposeProviders()
|
||||
{
|
||||
if (MetadataProviders != null)
|
||||
{
|
||||
foreach (var provider in MetadataProviders)
|
||||
{
|
||||
provider.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,8 +59,17 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="Providers\Movies\MovieProviderFromXml.cs" />
|
||||
<Compile Include="Providers\Movies\MovieSpecialFeaturesProvider.cs" />
|
||||
<Compile Include="Providers\TV\EpisodeImageFromMediaLocationProvider.cs" />
|
||||
<Compile Include="Providers\TV\EpisodeProviderFromXml.cs" />
|
||||
<Compile Include="Providers\TV\EpisodeXmlParser.cs" />
|
||||
<Compile Include="Providers\TV\SeriesProviderFromXml.cs" />
|
||||
<Compile Include="Providers\TV\SeriesXmlParser.cs" />
|
||||
<Compile Include="Resolvers\Movies\BoxSetResolver.cs" />
|
||||
<Compile Include="Resolvers\Movies\MovieResolver.cs" />
|
||||
<Compile Include="Resolvers\TV\EpisodeResolver.cs" />
|
||||
<Compile Include="Resolvers\TV\SeasonResolver.cs" />
|
||||
<Compile Include="Resolvers\TV\SeriesResolver.cs" />
|
||||
<Compile Include="Resolvers\TV\TVUtils.cs" />
|
||||
<Compile Include="ServerApplicationPaths.cs" />
|
||||
<Compile Include="Library\ItemResolveEventArgs.cs" />
|
||||
<Compile Include="FFMpeg\FFProbe.cs" />
|
||||
@ -82,7 +91,7 @@
|
||||
<Compile Include="Resolvers\FolderResolver.cs" />
|
||||
<Compile Include="Resolvers\VideoResolver.cs" />
|
||||
<Compile Include="Weather\WeatherClient.cs" />
|
||||
<Compile Include="Xml\BaseItemXmlParser.cs" />
|
||||
<Compile Include="Providers\BaseItemXmlParser.cs" />
|
||||
<Compile Include="Xml\XmlExtensions.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@ -1,17 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common.Logging;
|
||||
using MediaBrowser.Controller.FFMpeg;
|
||||
using MediaBrowser.Controller.FFMpeg;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
//[Export(typeof(BaseMetadataProvider))]
|
||||
[Export(typeof(BaseMetadataProvider))]
|
||||
public class AudioInfoProvider : BaseMediaInfoProvider<Audio>
|
||||
{
|
||||
public override MetadataProviderPriority Priority
|
||||
@ -161,7 +159,7 @@ namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
T myItem = item as T;
|
||||
/*T myItem = item as T;
|
||||
|
||||
if (CanSkipFFProbe(myItem))
|
||||
{
|
||||
@ -192,43 +190,12 @@ namespace MediaBrowser.Controller.Providers
|
||||
}
|
||||
}
|
||||
|
||||
Fetch(myItem, result);
|
||||
Fetch(myItem, result);*/
|
||||
});
|
||||
}
|
||||
|
||||
protected abstract void Fetch(T item, FFProbeResult result);
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
EnsureCacheSubFolders(CacheDirectory);
|
||||
}
|
||||
|
||||
private void EnsureCacheSubFolders(string root)
|
||||
{
|
||||
// Do this now so that we don't have to do this on every operation, which would require us to create a lock in order to maintain thread-safety
|
||||
for (int i = 0; i <= 9; i++)
|
||||
{
|
||||
EnsureDirectory(Path.Combine(root, i.ToString()));
|
||||
}
|
||||
|
||||
EnsureDirectory(Path.Combine(root, "a"));
|
||||
EnsureDirectory(Path.Combine(root, "b"));
|
||||
EnsureDirectory(Path.Combine(root, "c"));
|
||||
EnsureDirectory(Path.Combine(root, "d"));
|
||||
EnsureDirectory(Path.Combine(root, "e"));
|
||||
EnsureDirectory(Path.Combine(root, "f"));
|
||||
}
|
||||
|
||||
private void EnsureDirectory(string path)
|
||||
{
|
||||
if (!Directory.Exists(path))
|
||||
{
|
||||
Directory.CreateDirectory(path);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual bool CanSkipFFProbe(T item)
|
||||
{
|
||||
return false;
|
||||
|
@ -1,10 +1,11 @@
|
||||
using System;
|
||||
using MediaBrowser.Controller.Xml;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Xml
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides a base class for parsing metadata xml
|
@ -1,26 +1,11 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
public abstract class BaseMetadataProvider : IDisposable
|
||||
public abstract class BaseMetadataProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// If the provider needs any startup routines, add them here
|
||||
/// </summary>
|
||||
public virtual void Init()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disposes anything created during Init
|
||||
/// </summary>
|
||||
public virtual void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
public abstract bool Supports(BaseEntity item);
|
||||
|
||||
public virtual bool RequiresInternet
|
||||
|
@ -1,9 +1,8 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Xml;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
|
@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
|
@ -1,10 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
|
@ -1,13 +1,12 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.TV.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Providers
|
||||
namespace MediaBrowser.Controller.Providers.TV
|
||||
{
|
||||
[Export(typeof(BaseMetadataProvider))]
|
||||
public class EpisodeImageFromMediaLocationProvider : BaseMetadataProvider
|
@ -1,13 +1,11 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.TV.Entities;
|
||||
using MediaBrowser.TV.Metadata;
|
||||
|
||||
namespace MediaBrowser.TV.Providers
|
||||
namespace MediaBrowser.Controller.Providers.TV
|
||||
{
|
||||
[Export(typeof(BaseMetadataProvider))]
|
||||
public class EpisodeProviderFromXml : BaseMetadataProvider
|
@ -1,9 +1,8 @@
|
||||
using System.IO;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using MediaBrowser.Controller.Xml;
|
||||
using MediaBrowser.TV.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Metadata
|
||||
namespace MediaBrowser.Controller.Providers.TV
|
||||
{
|
||||
public class EpisodeXmlParser : BaseItemXmlParser<Episode>
|
||||
{
|
@ -1,13 +1,11 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.TV.Entities;
|
||||
using MediaBrowser.TV.Metadata;
|
||||
|
||||
namespace MediaBrowser.TV.Providers
|
||||
namespace MediaBrowser.Controller.Providers.TV
|
||||
{
|
||||
[Export(typeof(BaseMetadataProvider))]
|
||||
public class SeriesProviderFromXml : BaseMetadataProvider
|
@ -1,10 +1,9 @@
|
||||
using System;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System;
|
||||
using System.Xml;
|
||||
using MediaBrowser.Controller.Xml;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.TV.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Metadata
|
||||
namespace MediaBrowser.Controller.Providers.TV
|
||||
{
|
||||
public class SeriesXmlParser : BaseItemXmlParser<Series>
|
||||
{
|
@ -1,13 +1,13 @@
|
||||
using System;
|
||||
using MediaBrowser.Controller.FFMpeg;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Linq;
|
||||
using MediaBrowser.Controller.FFMpeg;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers
|
||||
{
|
||||
//[Export(typeof(BaseMetadataProvider))]
|
||||
[Export(typeof(BaseMetadataProvider))]
|
||||
public class VideoInfoProvider : BaseMediaInfoProvider<Video>
|
||||
{
|
||||
public override MetadataProviderPriority Priority
|
||||
@ -163,15 +163,5 @@ namespace MediaBrowser.Controller.Providers
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
// This is an optimzation. Do this now so that it doesn't have to be done upon first serialization.
|
||||
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(FFProbeResult), true);
|
||||
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(MediaStream), true);
|
||||
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(MediaFormat), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Resolvers;
|
||||
using MediaBrowser.TV.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System.ComponentModel.Composition;
|
||||
|
||||
namespace MediaBrowser.TV.Resolvers
|
||||
namespace MediaBrowser.Controller.Resolvers.TV
|
||||
{
|
||||
[Export(typeof(IBaseItemResolver))]
|
||||
public class EpisodeResolver : BaseVideoResolver<Episode>
|
@ -1,10 +1,9 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Resolvers;
|
||||
using MediaBrowser.TV.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Resolvers
|
||||
namespace MediaBrowser.Controller.Resolvers.TV
|
||||
{
|
||||
[Export(typeof(IBaseItemResolver))]
|
||||
public class SeasonResolver : BaseFolderResolver<Season>
|
@ -1,12 +1,11 @@
|
||||
using System;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Entities.TV;
|
||||
using System;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.IO;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Resolvers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.TV.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Resolvers
|
||||
namespace MediaBrowser.Controller.Resolvers.TV
|
||||
{
|
||||
[Export(typeof(IBaseItemResolver))]
|
||||
public class SeriesResolver : BaseFolderResolver<Series>
|
@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
using MediaBrowser.Controller.IO;
|
||||
|
||||
namespace MediaBrowser.TV
|
||||
namespace MediaBrowser.Controller.Resolvers.TV
|
||||
{
|
||||
public static class TVUtils
|
||||
{
|
@ -1,75 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{5758B2C7-949A-421D-B268-70A950CF8741}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>MediaBrowser.InternetProviders</RootNamespace>
|
||||
<AssemblyName>MediaBrowser.InternetProviders</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RunPostBuildEvent>Always</RunPostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Plugin.cs" />
|
||||
<Compile Include="PluginConfiguration.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
|
||||
<Project>{9142eefa-7570-41e1-bfcc-468bb571af2f}</Project>
|
||||
<Name>MediaBrowser.Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj">
|
||||
<Project>{17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2}</Project>
|
||||
<Name>MediaBrowser.Controller</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj">
|
||||
<Project>{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}</Project>
|
||||
<Name>MediaBrowser.Model</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy "$(TargetPath)" "$(SolutionDir)\ProgramData\Plugins\" /y</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
@ -1,14 +0,0 @@
|
||||
using System.ComponentModel.Composition;
|
||||
using MediaBrowser.Common.Plugins;
|
||||
|
||||
namespace MediaBrowser.InternetProviders
|
||||
{
|
||||
[Export(typeof(BasePlugin))]
|
||||
public class Plugin : BaseGenericPlugin<PluginConfiguration>
|
||||
{
|
||||
public override string Name
|
||||
{
|
||||
get { return "Internet Providers"; }
|
||||
}
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
using MediaBrowser.Model.Plugins;
|
||||
|
||||
namespace MediaBrowser.InternetProviders
|
||||
{
|
||||
public class PluginConfiguration : BasePluginConfiguration
|
||||
{
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MediaBrowser.InternetProviders")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("MediaBrowser.InternetProviders")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2012")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("520717d0-3257-41b2-8da2-6aa8b8248250")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
@ -157,7 +157,7 @@ namespace MediaBrowser.Model.DTO
|
||||
public VideoInfo VideoInfo { get; set; }
|
||||
|
||||
[ProtoMember(44)]
|
||||
public VideoInfo SeriesInfo { get; set; }
|
||||
public SeriesInfo SeriesInfo { get; set; }
|
||||
|
||||
[ProtoMember(45)]
|
||||
public bool IsNew { get; set; }
|
||||
|
7
MediaBrowser.Model/Entities/TV/Episode.cs
Normal file
7
MediaBrowser.Model/Entities/TV/Episode.cs
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
namespace MediaBrowser.Model.Entities.TV
|
||||
{
|
||||
public class Episode : Video
|
||||
{
|
||||
}
|
||||
}
|
@ -1,19 +1,18 @@
|
||||
using System;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Entities
|
||||
namespace MediaBrowser.Model.Entities.TV
|
||||
{
|
||||
public class Season : Folder
|
||||
{
|
||||
/// <summary>
|
||||
/// Store these to reduce disk access in Episode Resolver
|
||||
/// </summary>
|
||||
internal string[] MetadataFiles { get; set; }
|
||||
public string[] MetadataFiles { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Determines if the metafolder contains a given file
|
||||
/// </summary>
|
||||
internal bool ContainsMetadataFile(string file)
|
||||
public bool ContainsMetadataFile(string file)
|
||||
{
|
||||
for (int i = 0; i < MetadataFiles.Length; i++)
|
||||
{
|
@ -1,8 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Entities
|
||||
namespace MediaBrowser.Model.Entities.TV
|
||||
{
|
||||
public class Series : Folder
|
||||
{
|
@ -54,6 +54,9 @@
|
||||
<Compile Include="Entities\Movies\Movie.cs" />
|
||||
<Compile Include="Entities\Person.cs" />
|
||||
<Compile Include="Entities\Studio.cs" />
|
||||
<Compile Include="Entities\TV\Episode.cs" />
|
||||
<Compile Include="Entities\TV\Season.cs" />
|
||||
<Compile Include="Entities\TV\Series.cs" />
|
||||
<Compile Include="Entities\Video.cs" />
|
||||
<Compile Include="Entities\Year.cs" />
|
||||
<Compile Include="Plugins\BasePluginConfiguration.cs" />
|
||||
|
@ -1,8 +0,0 @@
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.TV.Entities
|
||||
{
|
||||
public class Episode : Video
|
||||
{
|
||||
}
|
||||
}
|
@ -44,20 +44,8 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Entities\Episode.cs" />
|
||||
<Compile Include="Providers\EpisodeImageFromMediaLocationProvider.cs" />
|
||||
<Compile Include="Providers\EpisodeProviderFromXml.cs" />
|
||||
<Compile Include="Providers\SeriesProviderFromXml.cs" />
|
||||
<Compile Include="Resolvers\EpisodeResolver.cs" />
|
||||
<Compile Include="Metadata\EpisodeXmlParser.cs" />
|
||||
<Compile Include="Plugin.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Entities\Season.cs" />
|
||||
<Compile Include="Resolvers\SeasonResolver.cs" />
|
||||
<Compile Include="Entities\Series.cs" />
|
||||
<Compile Include="Resolvers\SeriesResolver.cs" />
|
||||
<Compile Include="Metadata\SeriesXmlParser.cs" />
|
||||
<Compile Include="TVUtils.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
|
||||
|
@ -3,12 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Controller", "MediaBrowser.Controller\MediaBrowser.Controller.csproj", "{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.TV", "MediaBrowser.TV\MediaBrowser.TV.csproj", "{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Api", "MediaBrowser.Api\MediaBrowser.Api.csproj", "{4FD51AC5-2C16-4308-A993-C3A84F3B4582}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.InternetProviders", "MediaBrowser.InternetProviders\MediaBrowser.InternetProviders.csproj", "{5758B2C7-949A-421D-B268-70A950CF8741}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Common", "MediaBrowser.Common\MediaBrowser.Common.csproj", "{9142EEFA-7570-41E1-BFCC-468BB571AF2F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Model", "MediaBrowser.Model\MediaBrowser.Model.csproj", "{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}"
|
||||
@ -32,18 +28,10 @@ Global
|
||||
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5758B2C7-949A-421D-B268-70A950CF8741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5758B2C7-949A-421D-B268-70A950CF8741}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5758B2C7-949A-421D-B268-70A950CF8741}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5758B2C7-949A-421D-B268-70A950CF8741}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
Loading…
Reference in New Issue
Block a user