aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-08-20 19:55:23 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-08-20 19:55:23 -0400
commit6d206bb9dcc457b573e5e5dc36651ff1246b52d9 (patch)
treece069c2f8a12bf3fc6ffd33350416dbbb884d057
parenta6866fe878d6c89753826240b1e065e9d38758a9 (diff)
update recording save path
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs13
-rw-r--r--MediaBrowser.Controller/LiveTv/LiveTvProgram.cs10
-rw-r--r--MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs11
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs13
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs38
5 files changed, 67 insertions, 18 deletions
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index fc07f6778..083ec0cb4 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -100,16 +100,23 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <returns>System.String.</returns>
protected override string CreateUserDataKey()
{
- var key = this.GetProviderId(MetadataProviders.Tmdb);
+ var key = GetMovieUserDataKey(this);
if (string.IsNullOrWhiteSpace(key))
{
- key = this.GetProviderId(MetadataProviders.Imdb);
+ key = base.CreateUserDataKey();
}
+ return key;
+ }
+
+ public static string GetMovieUserDataKey(BaseItem movie)
+ {
+ var key = movie.GetProviderId(MetadataProviders.Tmdb);
+
if (string.IsNullOrWhiteSpace(key))
{
- key = base.CreateUserDataKey();
+ key = movie.GetProviderId(MetadataProviders.Imdb);
}
return key;
diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
index b54a7aaee..14944d36f 100644
--- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.LiveTv;
@@ -17,6 +18,15 @@ namespace MediaBrowser.Controller.LiveTv
/// <returns>System.String.</returns>
protected override string CreateUserDataKey()
{
+ if (IsMovie)
+ {
+ var key = Movie.GetMovieUserDataKey(this);
+
+ if (!string.IsNullOrWhiteSpace(key))
+ {
+ return key;
+ }
+ }
return GetClientTypeName() + "-" + Name;
}
diff --git a/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs b/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs
index aaaff6bdb..960f8054a 100644
--- a/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
@@ -40,6 +41,16 @@ namespace MediaBrowser.Controller.LiveTv
/// <returns>System.String.</returns>
protected override string CreateUserDataKey()
{
+ if (IsMovie)
+ {
+ var key = Movie.GetMovieUserDataKey(this);
+
+ if (!string.IsNullOrWhiteSpace(key))
+ {
+ return key;
+ }
+ }
+
var name = GetClientTypeName();
if (!string.IsNullOrEmpty(ProgramId))
diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
index 355597fcf..ebb5037d0 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
@@ -495,10 +495,23 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
var info = GetProgramInfoFromCache(timer.ChannelId, timer.ProgramId);
var recordPath = RecordingPath;
+
if (info.IsMovie)
{
recordPath = Path.Combine(recordPath, "Movies", _fileSystem.GetValidFilename(info.Name));
}
+ else if (info.IsSeries)
+ {
+ recordPath = Path.Combine(recordPath, "Series", _fileSystem.GetValidFilename(info.Name));
+ }
+ else if (info.IsKids)
+ {
+ recordPath = Path.Combine(recordPath, "Kids", _fileSystem.GetValidFilename(info.Name));
+ }
+ else if (info.IsSports)
+ {
+ recordPath = Path.Combine(recordPath, "Sports", _fileSystem.GetValidFilename(info.Name));
+ }
else
{
recordPath = Path.Combine(recordPath, "TV", _fileSystem.GetValidFilename(info.Name));
diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs
index 09a5a3912..1b8cd2e61 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.LiveTv;
using System;
+using System.Globalization;
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
{
@@ -36,26 +37,33 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
{
if (info == null)
{
- return (timer.ProgramId + ".ts");
+ return timer.ProgramId + ".ts";
}
- var fancyName = info.Name;
- if (info.ProductionYear != null)
- {
- fancyName += "_(" + info.ProductionYear + ")";
- }
- if (info.IsSeries && !string.IsNullOrWhiteSpace(info.EpisodeTitle))
- {
- fancyName += "_" + info.EpisodeTitle.Replace("Season: ", "S").Replace(" Episode: ", "E");
- }
- if (info.IsHD ?? false)
+
+ var name = info.Name;
+
+ if (info.IsSeries)
{
- fancyName += "_HD";
+ if (info.SeasonNumber.HasValue && info.EpisodeNumber.HasValue)
+ {
+ name += string.Format(" S{0}E{1}", info.SeasonNumber.Value.ToString("00", CultureInfo.InvariantCulture), info.EpisodeNumber.Value.ToString("00", CultureInfo.InvariantCulture));
+ }
+ else if (info.OriginalAirDate.HasValue)
+ {
+ name += " " + info.OriginalAirDate.Value.ToString("yyyy-MM-dd");
+ }
+ else if (!string.IsNullOrWhiteSpace(info.EpisodeTitle))
+ {
+ name += " " + info.EpisodeTitle;
+ }
}
- if (info.OriginalAirDate != null)
+
+ else if (info.ProductionYear != null)
{
- fancyName += "_" + info.OriginalAirDate.Value.ToString("yyyy-MM-dd");
+ name += " (" + info.ProductionYear + ")";
}
- return fancyName + ".ts";
+
+ return name + ".ts";
}
}
}