diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-17 13:23:00 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-17 13:23:00 -0500 |
| commit | 91e4f67139e30e8a1c873af802e7fa70d960671f (patch) | |
| tree | e3e48ae08c8919074d2043e520720f20f2a0f41a | |
| parent | 43a806ad0265a537e7dc730d277cf4debe3e7dd5 (diff) | |
add more properties to LiveTvInfo
| -rw-r--r-- | MediaBrowser.Api/LiveTv/LiveTvService.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Model/ApiClient/IApiClient.cs | 16 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/ChannelInfoDto.cs | 15 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/ProgramInfoDto.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/RecordingGroupDto.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/RecordingInfoDto.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/TimerInfoDto.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs | 3 |
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; } |
