Jelajahi Sumber

updated live tv endpoints

Luke Pulverenti 11 tahun lalu
induk
melakukan
ccd51222e6

+ 19 - 3
MediaBrowser.Controller/LiveTv/ILiveTvService.cs

@@ -47,6 +47,22 @@ namespace MediaBrowser.Controller.LiveTv
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
         Task CreateTimerAsync(TimerInfo info, CancellationToken cancellationToken);
         Task CreateTimerAsync(TimerInfo info, CancellationToken cancellationToken);
 
 
+        /// <summary>
+        /// Creates the series timer asynchronous.
+        /// </summary>
+        /// <param name="info">The information.</param>
+        /// <param name="cancellationToken">The cancellation token.</param>
+        /// <returns>Task.</returns>
+        Task CreateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// Updates the series timer asynchronous.
+        /// </summary>
+        /// <param name="info">The information.</param>
+        /// <param name="cancellationToken">The cancellation token.</param>
+        /// <returns>Task.</returns>
+        Task UpdateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken);
+        
         /// <summary>
         /// <summary>
         /// Gets the channel image asynchronous.
         /// Gets the channel image asynchronous.
         /// </summary>
         /// </summary>
@@ -70,11 +86,11 @@ namespace MediaBrowser.Controller.LiveTv
         Task<IEnumerable<TimerInfo>> GetTimersAsync(CancellationToken cancellationToken);
         Task<IEnumerable<TimerInfo>> GetTimersAsync(CancellationToken cancellationToken);
 
 
         /// <summary>
         /// <summary>
-        /// Gets the recurring timers asynchronous.
+        /// Gets the series timers asynchronous.
         /// </summary>
         /// </summary>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
-        /// <returns>Task{IEnumerable{RecurringTimerInfo}}.</returns>
-        Task<IEnumerable<RecurringTimerInfo>> GetRecurringTimersAsync(CancellationToken cancellationToken);
+        /// <returns>Task{IEnumerable{SeriesTimerInfo}}.</returns>
+        Task<IEnumerable<SeriesTimerInfo>> GetSeriesTimersAsync(CancellationToken cancellationToken);
         
         
         /// <summary>
         /// <summary>
         /// Gets the programs asynchronous.
         /// Gets the programs asynchronous.

+ 0 - 73
MediaBrowser.Controller/LiveTv/RecurringTimerInfo.cs

@@ -1,73 +0,0 @@
-using MediaBrowser.Model.LiveTv;
-using System;
-
-namespace MediaBrowser.Controller.LiveTv
-{
-    public class RecurringTimerInfo
-    {
-        /// <summary>
-        /// Id of the recording.
-        /// </summary>
-        public string Id { get; set; }
-
-        /// <summary>
-        /// ChannelId of the recording.
-        /// </summary>
-        public string ChannelId { get; set; }
-
-        /// <summary>
-        /// ChannelName of the recording.
-        /// </summary>
-        public string ChannelName { get; set; }
-
-        /// <summary>
-        /// Gets or sets the program identifier.
-        /// </summary>
-        /// <value>The program identifier.</value>
-        public string ProgramId { get; set; }
-
-        /// <summary>
-        /// Name of the recording.
-        /// </summary>
-        public string Name { get; set; }
-
-        /// <summary>
-        /// Description of the recording.
-        /// </summary>
-        public string Description { get; set; }
-
-        /// <summary>
-        /// The start date of the recording, in UTC.
-        /// </summary>
-        public DateTime StartDate { get; set; }
-
-        /// <summary>
-        /// The end date of the recording, in UTC.
-        /// </summary>
-        public DateTime EndDate { get; set; }
-
-        /// <summary>
-        /// Gets or sets the status.
-        /// </summary>
-        /// <value>The status.</value>
-        public RecordingStatus Status { get; set; }
-
-        /// <summary>
-        /// Gets or sets the pre padding seconds.
-        /// </summary>
-        /// <value>The pre padding seconds.</value>
-        public int PrePaddingSeconds { get; set; }
-
-        /// <summary>
-        /// Gets or sets the post padding seconds.
-        /// </summary>
-        /// <value>The post padding seconds.</value>
-        public int PostPaddingSeconds { get; set; }
-
-        /// <summary>
-        /// Gets or sets the type of the recurrence.
-        /// </summary>
-        /// <value>The type of the recurrence.</value>
-        public RecurrenceType RecurrenceType { get; set; }
-    }
-}

+ 3 - 3
MediaBrowser.Controller/LiveTv/TimerInfo.cs

@@ -11,10 +11,10 @@ namespace MediaBrowser.Controller.LiveTv
         public string Id { get; set; }
         public string Id { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// Gets or sets the recurring timer identifier.
+        /// Gets or sets the series timer identifier.
         /// </summary>
         /// </summary>
-        /// <value>The recurring timer identifier.</value>
-        public string RecurringTimerId { get; set; }
+        /// <value>The series timer identifier.</value>
+        public string SeriesTimerId { get; set; }
         
         
         /// <summary>
         /// <summary>
         /// ChannelId of the recording.
         /// ChannelId of the recording.

+ 1 - 1
MediaBrowser.Controller/MediaBrowser.Controller.csproj

@@ -110,7 +110,7 @@
     <Compile Include="LiveTv\ILiveTvService.cs" />
     <Compile Include="LiveTv\ILiveTvService.cs" />
     <Compile Include="LiveTv\ProgramInfo.cs" />
     <Compile Include="LiveTv\ProgramInfo.cs" />
     <Compile Include="LiveTv\RecordingInfo.cs" />
     <Compile Include="LiveTv\RecordingInfo.cs" />
-    <Compile Include="LiveTv\RecurringTimerInfo.cs" />
+    <Compile Include="LiveTv\SeriesTimerInfo.cs" />
     <Compile Include="LiveTv\TimerInfo.cs" />
     <Compile Include="LiveTv\TimerInfo.cs" />
     <Compile Include="Localization\ILocalizationManager.cs" />
     <Compile Include="Localization\ILocalizationManager.cs" />
     <Compile Include="Notifications\INotificationsRepository.cs" />
     <Compile Include="Notifications\INotificationsRepository.cs" />

+ 3 - 3
MediaBrowser.Model/LiveTv/TimerInfoDto.cs

@@ -58,10 +58,10 @@ namespace MediaBrowser.Model.LiveTv
         public RecordingStatus Status { get; set; }
         public RecordingStatus Status { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// Gets or sets the recurring timer identifier.
+        /// Gets or sets the series timer identifier.
         /// </summary>
         /// </summary>
-        /// <value>The recurring timer identifier.</value>
-        public string RecurringTimerId { get; set; }
+        /// <value>The series timer identifier.</value>
+        public string SeriesTimerId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// Gets or sets the pre padding seconds.
         /// Gets or sets the pre padding seconds.

+ 3 - 2
MediaBrowser.Server.Implementations/Library/ResolverHelper.cs

@@ -1,11 +1,11 @@
 using MediaBrowser.Common.Extensions;
 using MediaBrowser.Common.Extensions;
 using MediaBrowser.Common.IO;
 using MediaBrowser.Common.IO;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.IO;
 using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.Resolvers;
 using MediaBrowser.Controller.Resolvers;
 using System;
 using System;
 using System.IO;
 using System.IO;
+using System.Linq;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 
 
 namespace MediaBrowser.Server.Implementations.Library
 namespace MediaBrowser.Server.Implementations.Library
@@ -48,7 +48,8 @@ namespace MediaBrowser.Server.Implementations.Library
             // Make sure the item has a name
             // Make sure the item has a name
             EnsureName(item);
             EnsureName(item);
 
 
-            item.DontFetchMeta = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1;
+            item.DontFetchMeta = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
+                item.Parents.Any(i => i.DontFetchMeta);
 
 
             // Make sure DateCreated and DateModified have values
             // Make sure DateCreated and DateModified have values
             EntityResolutionHelper.EnsureDates(fileSystem, item, args, true);
             EntityResolutionHelper.EnsureDates(fileSystem, item, args, true);

+ 1 - 1
MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -514,7 +514,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
                 ExternalId = info.Id,
                 ExternalId = info.Id,
                 ChannelId = GetInternalChannelId(service.Name, info.ChannelId, info.ChannelName).ToString("N"),
                 ChannelId = GetInternalChannelId(service.Name, info.ChannelId, info.ChannelName).ToString("N"),
                 Status = info.Status,
                 Status = info.Status,
-                RecurringTimerId = info.RecurringTimerId,
+                SeriesTimerId = info.SeriesTimerId,
                 PrePaddingSeconds = info.PrePaddingSeconds,
                 PrePaddingSeconds = info.PrePaddingSeconds,
                 PostPaddingSeconds = info.PostPaddingSeconds
                 PostPaddingSeconds = info.PostPaddingSeconds
             };
             };

+ 1 - 0
MediaBrowser.WebDashboard/Api/DashboardService.cs

@@ -482,6 +482,7 @@ namespace MediaBrowser.WebDashboard.Api
                                       "livetvchannel.js",
                                       "livetvchannel.js",
                                       "livetvchannels.js",
                                       "livetvchannels.js",
                                       "livetvguide.js",
                                       "livetvguide.js",
+                                      "livetvrecording.js",
                                       "livetvrecordings.js",
                                       "livetvrecordings.js",
                                       "livetvtimer.js",
                                       "livetvtimer.js",
                                       "livetvtimers.js",
                                       "livetvtimers.js",

+ 6 - 1
MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

@@ -92,6 +92,9 @@
     <Content Include="dashboard-ui\livetvchannel.html">
     <Content Include="dashboard-ui\livetvchannel.html">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
+    <Content Include="dashboard-ui\livetvrecording.html">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="dashboard-ui\livetvtimers.html">
     <Content Include="dashboard-ui\livetvtimers.html">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
@@ -353,6 +356,9 @@
     <Content Include="dashboard-ui\livetvtimer.html">
     <Content Include="dashboard-ui\livetvtimer.html">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
+    <Content Include="dashboard-ui\scripts\livetvrecording.js">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="dashboard-ui\scripts\livetvtimer.js">
     <Content Include="dashboard-ui\scripts\livetvtimer.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
@@ -1214,7 +1220,6 @@
   <ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="packages.config" />
     <EmbeddedResource Include="packages.config" />
   </ItemGroup>
   </ItemGroup>
-  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
   <PropertyGroup>
     <PostBuildEvent>
     <PostBuildEvent>

+ 2 - 2
Nuget/MediaBrowser.Common.Internal.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
     <metadata>
         <id>MediaBrowser.Common.Internal</id>
         <id>MediaBrowser.Common.Internal</id>
-        <version>3.0.255</version>
+        <version>3.0.256</version>
         <title>MediaBrowser.Common.Internal</title>
         <title>MediaBrowser.Common.Internal</title>
         <authors>Luke</authors>
         <authors>Luke</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
         <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.255" />
+            <dependency id="MediaBrowser.Common" version="3.0.256" />
             <dependency id="NLog" version="2.1.0" />
             <dependency id="NLog" version="2.1.0" />
             <dependency id="ServiceStack.Text" version="3.9.58" />
             <dependency id="ServiceStack.Text" version="3.9.58" />
             <dependency id="SimpleInjector" version="2.3.6" />
             <dependency id="SimpleInjector" version="2.3.6" />

+ 1 - 1
Nuget/MediaBrowser.Common.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
     <metadata>
         <id>MediaBrowser.Common</id>
         <id>MediaBrowser.Common</id>
-        <version>3.0.255</version>
+        <version>3.0.256</version>
         <title>MediaBrowser.Common</title>
         <title>MediaBrowser.Common</title>
         <authors>Media Browser Team</authors>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <owners>ebr,Luke,scottisafool</owners>

+ 2 - 2
Nuget/MediaBrowser.Server.Core.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
     <metadata>
     <metadata>
         <id>MediaBrowser.Server.Core</id>
         <id>MediaBrowser.Server.Core</id>
-        <version>3.0.255</version>
+        <version>3.0.256</version>
         <title>Media Browser.Server.Core</title>
         <title>Media Browser.Server.Core</title>
         <authors>Media Browser Team</authors>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains core components required to build plugins for Media Browser Server.</description>
         <description>Contains core components required to build plugins for Media Browser Server.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.255" />
+            <dependency id="MediaBrowser.Common" version="3.0.256" />
         </dependencies>
         </dependencies>
     </metadata>
     </metadata>
     <files>
     <files>