Exemplo n.º 1
0
        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;
                }
            }
        }
Exemplo n.º 2
0
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;
            bool                  isMovie   = false;
            MediaType             mediaType = MediaType.Unknown;
            List <IMediaLocation> volumes   = null;

            if (location.IsHidden())
            {
                return;
            }

            var folder = location as IFolderMediaLocation;

            if (folder != null && !folder.ContainsChild(FolderResolver.IGNORE_FOLDER) && folder.Name.ToUpper() != TrailersPath)
            {
                DetectFolderWhichIsMovie(folder, out isMovie, out mediaType, out volumes);
            }
            else
            {
                if (location.IsIso())
                {
                    isMovie   = true;
                    mediaType = MediaType.ISO;
                }
                else
                {
                    isMovie = location.IsVideo();
                    if (isMovie)
                    {
                        mediaType = location.GetVideoMediaType();
                    }
                }
            }

            if (isMovie)
            {
                factory = BaseItemFactory <Movie> .Instance;
                setup   = new List <InitializationParameter>()
                {
                    new MediaTypeInitializationParameter()
                    {
                        MediaType = mediaType
                    }
                };

                if (volumes != null && volumes.Count > 0)
                {
                    (setup as List <InitializationParameter>).Add(new MovieVolumeInitializationParameter()
                    {
                        Volumes = volumes
                    });
                }
            }
        }
Exemplo n.º 3
0
        public override void ResolveEntity(IMediaLocation location, out BaseItemFactory factory, out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            if (location.IsVodcast())
            {
                factory = BaseItemFactory <VodCast> .Instance;
            }
        }
Exemplo n.º 4
0
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            if (location is IFolderMediaLocation && !location.IsHidden() && TVUtils.IsSeasonFolder(location.Path))
            {
                factory = BaseItemFactory <Season> .Instance;
            }
        }
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            if (location is IFolderMediaLocation && !MusicHelper.IsHidden(location.Path) && MusicHelper.IsArtistAlbumFolder(location.Path))
            {
                factory = BaseItemFactory <ArtistAlbum> .Instance;
            }
        }
Exemplo n.º 6
0
        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;
            }
        }
        public void ResolveEntity(IMediaLocation location,
                                  out BaseItemFactory factory,
                                  out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            foreach (var item in this)
            {
                item.ResolveEntity(location, out factory, out setup);
                if (factory != null)
                {
                    break;
                }
            }
        }
Exemplo n.º 8
0
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            var folderLocation = location as IFolderMediaLocation;

            if (folderLocation != null && !folderLocation.IsHidden())
            {
                if (location.IsBoxSetFolder())
                {
                    factory = BaseItemFactory <BoxSet> .Instance;
                }
            }
        }
Exemplo n.º 9
0
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            var folderLocation = location as IFolderMediaLocation;

            if (folderLocation != null && !MusicHelper.IsHidden(folderLocation.Path))
            {
                if (MusicHelper.IsArtistFolder(location))
                {
                    factory = BaseItemFactory <Artist> .Instance;
                }
            }
        }
Exemplo n.º 10
0
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            var folderLocation = location as IFolderMediaLocation;

            if (folderLocation != null)
            {
                if (location.IsSeriesFolder() || folderLocation.ContainsChild("series.xml"))
                {
                    factory = BaseItemFactory <Series> .Instance;
                }
            }
        }
Exemplo n.º 11
0
        public override void ResolveEntity(IMediaLocation location,
                                           out BaseItemFactory factory,
                                           out IEnumerable <InitializationParameter> setup)
        {
            factory = null;
            setup   = null;

            var folder = location as IFolderMediaLocation;

            if (!(folder == null) && !folder.IsHidden() && folder.Name.ToUpper() != MovieResolver.TrailersPath)
            {
                if (folder.Children.Count > 0 && !ignoreFolders.Contains(folder.Name.ToLower()))
                {
                    if (!folder.ContainsChild(IGNORE_FOLDER))
                    {
                        factory = BaseItemFactory <Folder> .Instance;
                    }
                }
            }

            return;
        }
Exemplo n.º 12
0
 public abstract void ResolveEntity(IMediaLocation location,
                                    out BaseItemFactory factory,
                                    out IEnumerable <InitializationParameter> setup);