aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-17 13:23:00 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-17 13:23:00 -0500
commit91e4f67139e30e8a1c873af802e7fa70d960671f (patch)
treee3e48ae08c8919074d2043e520720f20f2a0f41a
parent43a806ad0265a537e7dc730d277cf4debe3e7dd5 (diff)
add more properties to LiveTvInfo
-rw-r--r--MediaBrowser.Api/LiveTv/LiveTvService.cs11
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs3
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs16
-rw-r--r--MediaBrowser.Model/LiveTv/ChannelInfoDto.cs15
-rw-r--r--MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs18
-rw-r--r--MediaBrowser.Model/LiveTv/ProgramInfoDto.cs7
-rw-r--r--MediaBrowser.Model/LiveTv/RecordingGroupDto.cs7
-rw-r--r--MediaBrowser.Model/LiveTv/RecordingInfoDto.cs7
-rw-r--r--MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs5
-rw-r--r--MediaBrowser.Model/LiveTv/TimerInfoDto.cs5
-rw-r--r--MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs3
11 files changed, 79 insertions, 18 deletions
diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs
index 9f45df8e6..7ccb83bc8 100644
--- a/MediaBrowser.Api/LiveTv/LiveTvService.cs
+++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs
@@ -295,11 +295,18 @@ namespace MediaBrowser.Api.LiveTv
public object Get(GetLiveTvInfo request)
{
var services = _liveTvManager.GetServiceInfos(CancellationToken.None).Result;
+ var servicesList = services.ToList();
+
+ var activeServiceInfo = _liveTvManager.ActiveService == null ? null :
+ servicesList.FirstOrDefault(i => string.Equals(i.Name, _liveTvManager.ActiveService.Name, StringComparison.OrdinalIgnoreCase));
var info = new LiveTvInfo
{
- Services = services.ToList(),
- ActiveServiceName = _liveTvManager.ActiveService == null ? null : _liveTvManager.ActiveService.Name
+ Services = servicesList.ToList(),
+ ActiveServiceName = activeServiceInfo == null ? null : activeServiceInfo.Name,
+ IsEnabled = _liveTvManager.ActiveService != null,
+ Status = activeServiceInfo == null ? LiveTvServiceStatus.Unavailable : activeServiceInfo.Status,
+ StatusMessage = activeServiceInfo == null ? null : activeServiceInfo.StatusMessage
};
return ToOptimizedResult(info);
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 119b4dd7e..7910e9957 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -1087,7 +1087,8 @@ namespace MediaBrowser.Controller.Entities
public override bool IsPlayed(User user)
{
- return GetRecursiveChildren(user).Where(i => !i.IsFolder).All(i => i.IsPlayed(user));
+ return GetRecursiveChildren(user).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
+ .All(i => i.IsPlayed(user));
}
}
}
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index edabd4aba..cf90fb757 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -764,6 +764,14 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="options">The options.</param>
/// <returns>System.String.</returns>
string GetImageUrl(RecordingInfoDto item, ImageOptions options);
+
+ /// <summary>
+ /// Gets the image URL.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="options">The options.</param>
+ /// <returns>System.String.</returns>
+ string GetImageUrl(ProgramInfoDto item, ImageOptions options);
/// <summary>
/// Gets an image url that can be used to download an image from the api
@@ -1003,6 +1011,14 @@ namespace MediaBrowser.Model.ApiClient
Task<QueryResult<TimerInfoDto>> GetLiveTvTimersAsync(TimerQuery query, CancellationToken cancellationToken);
/// <summary>
+ /// Gets the live tv programs asynchronous.
+ /// </summary>
+ /// <param name="query">The query.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{QueryResult{ProgramInfoDto}}.</returns>
+ Task<QueryResult<ProgramInfoDto>> GetLiveTvProgramsAsync(ProgramQuery query, CancellationToken cancellationToken);
+
+ /// <summary>
/// Gets the live tv timer asynchronous.
/// </summary>
/// <param name="id">The identifier.</param>
diff --git a/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs b/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs
index afce04230..9ea15739f 100644
--- a/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/ChannelInfoDto.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Model.Dto;
+using System.ComponentModel;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
@@ -8,7 +9,7 @@ namespace MediaBrowser.Model.LiveTv
/// <summary>
/// Class ChannelInfoDto
/// </summary>
- public class ChannelInfoDto : IItemDto
+ public class ChannelInfoDto : INotifyPropertyChanged, IItemDto
{
/// <summary>
/// Gets or sets the name.
@@ -27,19 +28,19 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The external identifier.</value>
public string ExternalId { get; set; }
-
+
/// <summary>
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
public Dictionary<ImageType, Guid> ImageTags { get; set; }
-
+
/// <summary>
/// Gets or sets the number.
/// </summary>
/// <value>The number.</value>
public string Number { get; set; }
-
+
/// <summary>
/// Gets or sets the name of the service.
/// </summary>
@@ -87,10 +88,12 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The original primary image aspect ratio.</value>
public double? OriginalPrimaryImageAspectRatio { get; set; }
-
+
public ChannelInfoDto()
{
ImageTags = new Dictionary<ImageType, Guid>();
}
+
+ public event PropertyChangedEventHandler PropertyChanged;
}
}
diff --git a/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs
index f59a707ad..dd2dc81bd 100644
--- a/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs
+++ b/MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs
@@ -56,6 +56,24 @@ namespace MediaBrowser.Model.LiveTv
/// <value>The name of the active service.</value>
public string ActiveServiceName { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is enabled.
+ /// </summary>
+ /// <value><c>true</c> if this instance is enabled; otherwise, <c>false</c>.</value>
+ public bool IsEnabled { get; set; }
+
+ /// <summary>
+ /// Gets or sets the status.
+ /// </summary>
+ /// <value>The status.</value>
+ public LiveTvServiceStatus Status { get; set; }
+
+ /// <summary>
+ /// Gets or sets the status message.
+ /// </summary>
+ /// <value>The status message.</value>
+ public string StatusMessage { get; set; }
+
public LiveTvInfo()
{
Services = new List<LiveTvServiceInfo>();
diff --git a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
index 0798a2294..aeaf2c15b 100644
--- a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
@@ -1,11 +1,12 @@
-using MediaBrowser.Model.Dto;
+using System.ComponentModel;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
namespace MediaBrowser.Model.LiveTv
{
- public class ProgramInfoDto
+ public class ProgramInfoDto : INotifyPropertyChanged
{
/// <summary>
/// Id of the program.
@@ -186,6 +187,8 @@ namespace MediaBrowser.Model.LiveTv
Genres = new List<string>();
ImageTags = new Dictionary<ImageType, Guid>();
}
+
+ public event PropertyChangedEventHandler PropertyChanged;
}
public enum ProgramAudio
diff --git a/MediaBrowser.Model/LiveTv/RecordingGroupDto.cs b/MediaBrowser.Model/LiveTv/RecordingGroupDto.cs
index 29f0824fb..fca2e1fe4 100644
--- a/MediaBrowser.Model/LiveTv/RecordingGroupDto.cs
+++ b/MediaBrowser.Model/LiveTv/RecordingGroupDto.cs
@@ -1,10 +1,11 @@
-
+using System.ComponentModel;
+
namespace MediaBrowser.Model.LiveTv
{
/// <summary>
/// Class RecordingGroupDto.
/// </summary>
- public class RecordingGroupDto
+ public class RecordingGroupDto : INotifyPropertyChanged
{
/// <summary>
/// Gets or sets the name.
@@ -23,5 +24,7 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The recording count.</value>
public int RecordingCount { get; set; }
+
+ public event PropertyChangedEventHandler PropertyChanged;
}
}
diff --git a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
index ceb976689..5076e9d02 100644
--- a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
@@ -1,11 +1,12 @@
-using MediaBrowser.Model.Dto;
+using System.ComponentModel;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
namespace MediaBrowser.Model.LiveTv
{
- public class RecordingInfoDto
+ public class RecordingInfoDto : INotifyPropertyChanged
{
/// <summary>
/// Id of the recording.
@@ -226,5 +227,7 @@ namespace MediaBrowser.Model.LiveTv
Genres = new List<string>();
ImageTags = new Dictionary<ImageType, Guid>();
}
+
+ public event PropertyChangedEventHandler PropertyChanged;
}
} \ No newline at end of file
diff --git a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
index a8c6a2e37..3426fd4cb 100644
--- a/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs
@@ -1,9 +1,10 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
namespace MediaBrowser.Model.LiveTv
{
- public class SeriesTimerInfoDto
+ public class SeriesTimerInfoDto : INotifyPropertyChanged
{
/// <summary>
/// Id of the recording.
@@ -134,5 +135,7 @@ namespace MediaBrowser.Model.LiveTv
{
Days = new List<DayOfWeek>();
}
+
+ public event PropertyChangedEventHandler PropertyChanged;
}
}
diff --git a/MediaBrowser.Model/LiveTv/TimerInfoDto.cs b/MediaBrowser.Model/LiveTv/TimerInfoDto.cs
index 507ba0947..32580d3e3 100644
--- a/MediaBrowser.Model/LiveTv/TimerInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/TimerInfoDto.cs
@@ -1,8 +1,9 @@
using System;
+using System.ComponentModel;
namespace MediaBrowser.Model.LiveTv
{
- public class TimerInfoDto
+ public class TimerInfoDto : INotifyPropertyChanged
{
/// <summary>
/// Id of the recording.
@@ -128,5 +129,7 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The program information.</value>
public ProgramInfoDto ProgramInfo { get; set; }
+
+ public event PropertyChangedEventHandler PropertyChanged;
}
}
diff --git a/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs b/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs
index c440bf767..9b4f17a86 100644
--- a/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs
+++ b/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs
@@ -172,7 +172,8 @@ namespace MediaBrowser.Providers.Movies
item.CommunityRating = imdbRating;
}
- if (!string.IsNullOrEmpty(result.Website))
+ if (!string.IsNullOrEmpty(result.Website)
+ && !string.Equals(result.Website, "n/a", StringComparison.OrdinalIgnoreCase))
{
item.HomePageUrl = result.Website;
}