From b50fc351a12fa890b2d4ab6e71b7a4b609dd583c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 2 Jan 2014 16:21:47 -0500 Subject: add null checks to video methods --- MediaBrowser.Controller/Entities/Video.cs | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Controller/Entities') diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index ba0e71d7d4..19cad79482 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -225,11 +225,25 @@ namespace MediaBrowser.Controller.Entities { IEnumerable files; + var path = Path; + + if (string.IsNullOrEmpty(path)) + { + throw new ApplicationException(string.Format("Item {0} has a null path.", Name ?? Id.ToString())); + } + if (VideoType == VideoType.BluRay || VideoType == VideoType.Dvd) { - files = new DirectoryInfo(System.IO.Path.GetDirectoryName(Path)) + var parentPath = System.IO.Path.GetDirectoryName(path); + + if (string.IsNullOrEmpty(parentPath)) + { + throw new ApplicationException("Unable to get parent path info from " + path); + } + + files = new DirectoryInfo(parentPath) .EnumerateDirectories() - .Where(i => !string.Equals(i.FullName, Path, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsMultiPartFile(i.Name)); + .Where(i => !string.Equals(i.FullName, path, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsMultiPartFile(i.Name)); } else { @@ -240,7 +254,7 @@ namespace MediaBrowser.Controller.Entities return false; } - return !string.Equals(i.FullName, Path, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsVideoFile(i.FullName) && EntityResolutionHelper.IsMultiPartFile(i.Name); + return !string.Equals(i.FullName, path, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsVideoFile(i.FullName) && EntityResolutionHelper.IsMultiPartFile(i.Name); }); } -- cgit v1.2.3