public override void ResolveEntity(IMediaLocation location, out BaseItemFactory factory, out IEnumerable <InitializationParameter> setup) { factory = null; setup = null; if (!location.IsHidden()) { bool isFolder = !Path.HasExtension(location.Path); bool containsIfo = false; bool isDvd = isFolder ? IsDvd(location, out containsIfo) : false; bool isIso = isFolder ? false : Helper.IsIso(location.Path); bool isBD = isFolder ? Helper.IsBluRayFolder(location.Path, null) : false; bool isVideo = !(location is IFolderMediaLocation) && (isIso || isBD || Helper.IsVideo(location.Path) || location.IsVob()); if ((isDvd || isBD || isVideo) && TVUtils.IsEpisode(location.Path)) { if (isBD) { setup = new List <InitializationParameter>() { new MediaTypeInitializationParameter() { MediaType = MediaType.BluRay } }; } else if (containsIfo || isIso) { MediaType mt = isIso ? MediaType.ISO : MediaType.DVD; setup = new List <InitializationParameter>() { new MediaTypeInitializationParameter() { MediaType = mt } }; } else if (isVideo) { MediaType mt = location.GetVideoMediaType(); setup = new List <InitializationParameter>() { new MediaTypeInitializationParameter() { MediaType = mt } }; } factory = BaseItemFactory <Episode> .Instance; } } }
public override void ResolveEntity(IMediaLocation location, out BaseItemFactory factory, out IEnumerable <InitializationParameter> setup) { factory = null; setup = null; if (!(location is IFolderMediaLocation) && Helper.IsVideo(location.Path) && TVUtils.IsEpisode(location.Path)) { factory = BaseItemFactory <Episode> .Instance; } }