Esempio n. 1
0
        public override BaseItem CreateInstance(IMediaLocation location, IEnumerable <InitializationParameter> setup)
        {
            var entity = new T();

            entity.Assign(location, setup, GetId(location));
            return(entity);
        }
Esempio n. 2
0
        public static bool IsArtistFolder(this IMediaLocation location)
        {
            IFolderMediaLocation folder = location as IFolderMediaLocation;

            if (folder != null)
            {
                if (Path.HasExtension(folder.Path))
                {
                    return(false);
                }

                if (MusicHelper.IsAlbumFolder(folder.Path))
                {
                    return(false);
                }

                DirectoryInfo directoryInfo = new DirectoryInfo(folder.Path);
                foreach (DirectoryInfo directory in directoryInfo.GetDirectories())
                {
                    if (IsAlbumFolder(directory.FullName))
                    {
                        return(true);
                    }
                }

                return(false);
            }
            return(false);
        }
Esempio n. 3
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;

            var folder = location as IFolderMediaLocation;
            if (folder != null && !folder.ContainsChild(FolderResolver.IGNORE_FOLDER)) {
                DetectFolderWhichIsMovie(folder, out isMovie, out mediaType, out volumes);

            } else {
                if (location.IsIso()) {
                    isMovie = true;
                    mediaType = MediaType.ISO;
                } else {
                    isMovie = location.IsVideo();
                }

            }

            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 });
                }
            }
        }
        private bool IsDvd(IMediaLocation location, out bool containsIfo)
        {
            bool isDvd = false;

            containsIfo = false;

            var folder = location as IFolderMediaLocation;

            if (folder != null && folder.Children != null)
            {
                foreach (var item in folder.Children)
                {
                    isDvd |= Helper.IsVob(item.Path);
                    if (item.Path.ToUpper().EndsWith("VIDEO_TS"))
                    {
                        isDvd       = true;
                        containsIfo = true;
                    }
                    containsIfo |= Helper.IsIfo(item.Path);

                    if (isDvd && containsIfo)
                    {
                        break;
                    }
                }
            }

            return(isDvd);
        }
        public IMediaLocation Create(string path)
        {
            //Debug.Assert(path != null); (null path okay sometimes)
            if (path == null)
            {
                return(null);
            }

            if (Helper.IsShortcut(path))
            {
                path = Helper.ResolveShortcut(path);
            }

            IMediaLocation location = null;

            if (Directory.Exists(path))
            {
                var info = new DirectoryInfo(path).ToFileInfo();
                location = new FolderMediaLocation(info, null);
            }
            else if (File.Exists(path))
            {
                var info = new System.IO.FileInfo(path).ToFileInfo();
                if (path.ToLower().EndsWith(".vf"))
                {
                    location = new VirtualFolderMediaLocation(info, null);
                }
                else
                {
                    location = new MediaLocation(info, null);
                }
            }

            return(location);
        }
        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 Type ResolveType(IMediaLocation location)
        {
            BaseItemFactory factory;
            IEnumerable <InitializationParameter> setup;

            ResolveEntity(location, out factory, out setup);
            return(factory == null ?  null : factory.EntityType);
        }
Esempio n. 8
0
        private void RefreshUserSettings(IMediaLocation location)
        {
            VodcastContents parser = new VodcastContents(location.Contents);

            this.Url            = parser.Url;
            this.DownloadPolicy = parser.DownloadPolicy;
            this.FilesToRetain  = parser.FilesToRetain;
        }
Esempio n. 9
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
                    });
                }
            }
        }
Esempio n. 10
0
 internal Item CreateItem(IMediaLocation location)
 {
     Item item = null;
     foreach (var factory in config.ItemFactories) {
         item = factory.CreateItem(location, this);
         if (item != null) break;
     }
     return item;
 }
        public override void ResolveEntity(IMediaLocation location, out BaseItemFactory factory, out IEnumerable<InitializationParameter> setup)
        {
            factory = null;
            setup = null;

            if (!location.IsHidden() && location.IsVodcast()) {
                factory = BaseItemFactory<VodCast>.Instance;
            }
        }
Esempio n. 12
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;
            }
        }
        public static bool IsBoxSetFolder(this IMediaLocation location)
        {
            IFolderMediaLocation folder = location as IFolderMediaLocation;

            if (folder != null)
            {
                int start = location.Path.TrimEnd('\\').LastIndexOf('\\');
                return(location.Path.Substring(start).ToLower().Contains("[boxset]"));
            }
            return(false);
        }
Esempio n. 14
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 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;
            }
        }
Esempio n. 16
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 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;
            }
        }
        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.IsAlbumFolder(location.Path))
            {
                factory = BaseItemFactory<Album>.Instance;
            }
        }
Esempio n. 19
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;
            }
        }
Esempio n. 20
0
        public T GetItem <T>(IMediaLocation location) where T : BaseItem
        {
            BaseItem item = null;

            BaseItemFactory factory;
            IEnumerable <InitializationParameter> setup;

            EntityResolver.ResolveEntity(location, out factory, out setup);
            if (factory != null)
            {
                item = factory.CreateInstance(location, setup);
            }
            return(item as T);
        }
Esempio n. 21
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.IsSeriesFolder() || folderLocation.ContainsChild("series.xml")) {
                    factory = BaseItemFactory<Series>.Instance;
                }
            }
        }
        public override void Assign(IMediaLocation location, IEnumerable<InitializationParameter> parameters, Guid id)
        {
            base.Assign(location, parameters, id);

            if (parameters != null) {
                foreach (var parameter in parameters) {
                    var movieVolumeParam = parameter as MovieVolumeInitializationParameter;
                    if (movieVolumeParam != null) {
                        VolumePaths = movieVolumeParam.Volumes.Select(o => o.Path).ToList();
                        // this is how we calculate dates on movies ... min of all the actual movie paths
                        DateCreated = movieVolumeParam.Volumes.Select(o => o.DateCreated).Min();
                    }
                }
            }
        }
Esempio n. 23
0
 public override void Assign(IMediaLocation location, IEnumerable <InitializationParameter> parameters, Guid id)
 {
     base.Assign(location, parameters, id);
     if (parameters != null)
     {
         foreach (var parameter in parameters)
         {
             var mediaTypeParam = parameter as MediaTypeInitializationParameter;
             if (mediaTypeParam != null)
             {
                 MediaType = mediaTypeParam.MediaType;
             }
         }
     }
 }
        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;
                }
            }
        }
Esempio n. 25
0
        public virtual void Assign(IMediaLocation location, IEnumerable <InitializationParameter> parameters, Guid id)
        {
            this.Id           = id;
            this.Path         = location.Path;
            this.DateModified = location.DateModified;
            this.DateCreated  = location.DateCreated;

            if (location is IFolderMediaLocation)
            {
                defaultName = location.Name;
            }
            else
            {
                defaultName = Helper.GetNameFromFile(location.Path);
            }
        }
Esempio n. 26
0
        public virtual void Assign(IMediaLocation location, IEnumerable <InitializationParameter> parameters, Guid id)
        {
            this.Id           = id;
            this.Path         = location.Path;
            this.DateModified = location.DateModified;
            this.DateCreated  = location.DateCreated;

            if (location is IFolderMediaLocation)
            {
                defaultName = location.Name;
            }
            else
            {
                defaultName = System.IO.Path.GetFileNameWithoutExtension(location.Name);
            }
        }
Esempio n. 27
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;
                }
            }
        }
Esempio n. 28
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;
                }
            }
        }
Esempio n. 29
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;
                }
            }
        }
Esempio n. 30
0
        public IEnumerable <IMediaLocation> Recurse(IMediaLocation location)
        {
            var folder = location as IFolderMediaLocation;

            if (folder != null)
            {
                foreach (var child in folder.Children)
                {
                    foreach (var decendant in Recurse(child))
                    {
                        yield return(decendant);
                    }
                    yield return(child);
                }
            }
            yield return(location);
        }
Esempio n. 31
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;
                }
            }
        }
Esempio n. 32
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;
                }
            }
        }
Esempio n. 33
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;
                }
            }
        }
Esempio n. 34
0
        public Item GetItem(IMediaLocation location)
        {
            Item item = null;

            if (config.ItemRepository != null) {
                item = config.ItemRepository.GetItem<Item>(location.Id);
                if (config.ValidateItems && !item.IsValid()) {
                    item = null;
                }
            }

            if (item == null) {
                item = CreateItem(location);
            }

            return item;
        }
Esempio n. 35
0
        public override void Assign(IMediaLocation location, IEnumerable <InitializationParameter> parameters, Guid id)
        {
            base.Assign(location, parameters, id);

            if (parameters != null)
            {
                foreach (var parameter in parameters)
                {
                    var movieVolumeParam = parameter as MovieVolumeInitializationParameter;
                    if (movieVolumeParam != null)
                    {
                        VolumePaths = movieVolumeParam.Volumes.Select(o => o.Path).ToList();
                        // this is how we calculate dates on movies ... min of all the actual movie paths
                        DateCreated = movieVolumeParam.Volumes.Select(o => o.DateCreated).Min();
                    }
                }
            }
        }
        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())
            {
                if (folder.Children.Count > 0 && !ignoreFolders.Contains(folder.Name.ToLower())) {
                    if (!folder.ContainsChild(IGNORE_FOLDER)) {
                        factory = BaseItemFactory<Folder>.Instance;
                    }
                }
            }

            return;
        }
        public static bool IsSeriesFolder(this IMediaLocation location)
        {
            IFolderMediaLocation folder = location as IFolderMediaLocation;

            if (folder != null)
            {
                if (TVUtils.IsSeasonFolder(folder.Path))
                {
                    return(false);
                }

                int i = 0;

                foreach (IMediaLocation child in folder.Children)
                {
                    if (child is IFolderMediaLocation &&
                        TVUtils.IsSeasonFolder(child.Path))
                    {
                        return(true); // we have found at least one season folder
                    }
                    else
                    {
                        i++;
                    }
                    if (i >= 3)
                    {
                        return(false); // a folder with more than 3 non-season folders in will not be counted as a series
                    }
                }

                foreach (IMediaLocation child in folder.Children)
                {
                    if (!(child is IFolderMediaLocation) &&
                        child.IsVideo() &&
                        TVUtils.EpisodeNumberFromFile(child.Path, false) != null)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Esempio n. 38
0
        private bool IsDvd(IMediaLocation location, out bool containsIfo)
        {
            bool isDvd = false;
            containsIfo = false;

            var folder = location as IFolderMediaLocation;
            if (folder != null && folder.Children != null) {
                foreach (var item in folder.Children) {
                    isDvd |= Helper.IsVob(item.Path);
                    if (item.Path.ToUpper().EndsWith("VIDEO_TS")) {
                        isDvd = true;
                        containsIfo = true;
                    }
                    containsIfo |= Helper.IsIfo(item.Path);

                    if (isDvd && containsIfo) break;
                }
            }

            return isDvd;
        }
Esempio n. 39
0
        public Item CreateItem(IMediaLocation location, Library library)
        {
            Item item = null;

            var folderLocation = location as IFolderMediaLocation;
            if (folderLocation != null) {

                // check for HDDVD,DVD,BluRay

                // check for movie
                int videoCount = 0;
                int childFolderCount = 0;
                foreach (var childLocation in folderLocation.Children) {
                    videoCount += childLocation.IsVideo() ? 1 : 0;
                    childFolderCount += childLocation is IFolderMediaLocation ? 1 : 0;
                    // TODO: config setting
                    if (videoCount > 2 || childFolderCount > 0) break;
                }

                if (videoCount <= 2 && childFolderCount == 0) {
                    item = new Movie();
                } else {
                    var folder = new Folder();
                    folder.Location = folderLocation;
                    item = folder;
                }
            }
            else if (location.IsVideo() ) {
                item = new Movie();
            }

            if (item != null) {
                item.Library = library;
                item.Name = Path.GetFileNameWithoutExtension(location.Path);
                item.Uri = location.Path;
            }

            return item;
        }
Esempio n. 40
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;
        }
Esempio n. 41
0
        private void AddToCache(IMediaLocation item)
        {
            if (item is IFolderMediaLocation) {
                return;
            }

            var extension = System.IO.Path.GetExtension(item.Path).ToLower();
            ImageFormat imageFormat = null;
            if (extension == ".png") {
                imageFormat = ImageFormat.Png;
            } else if (extension == ".jpg") {
                imageFormat = ImageFormat.Jpeg;
            } else if (extension == ".gif") {
                imageFormat = ImageFormat.Gif;
            }
            else if (extension == ".bmp")
            {
                imageFormat = ImageFormat.Bmp;
            }
            else
            {
                // bad file in image cache
                File.Delete(item.Path);
                return;
            }

            var match = infoRegex.Match(item.Name);
            if (match == null || match.Groups[1].Value == null) {
                // bad file
                File.Delete(item.Path);
                return;
            }

            bool isPrimary = match.Groups[1].Value == "z";
            Guid id = new Guid(match.Groups[2].Value);

            int width = -1;
            int height = -1;

            if (!string.IsNullOrEmpty(match.Groups[3].Value)) {
                width = Int32.Parse(match.Groups[3].Value);
            }
            if (!string.IsNullOrEmpty(match.Groups[4].Value)) {
                height = Int32.Parse(match.Groups[4].Value);
            }

            var imageSet = GetImageSet(id);
            if (imageSet == null) {
                imageSet = new ImageSet(this, id);
                imageInfoCache[id] = imageSet;
            }

            var info = new ImageInfo(imageSet);
            info.ImageFormat = imageFormat;
            info.Date = item.DateModified > item.DateCreated ? item.DateModified : item.DateCreated;

            //upgrade logic
            if (width == -1 || height == -1) {
                Image image = Image.FromFile(item.Path);
                isPrimary = true;
                info.Width = image.Width;
                info.Height = image.Height;
                imageSet.PrimaryImage = info;
                image.Dispose();
                File.Move(item.Path, info.Path);
            } else {
                info.Width = width;
                info.Height = height;
            }

            if (isPrimary) {
                imageSet.PrimaryImage = info;
            } else {
                imageSet.ResizedImages.Add(info);
            }
        }
 public MockMediaLocationFactory(IMediaLocation location)
 {
     this.location = location;
 }
 public static MediaType GetVideoMediaType(this IMediaLocation location)
 {
     return(MediaTypeResolver.DetermineType(location.Path));
 }
 public static bool IsVodcast(this IMediaLocation location)
 {
     return(location.Path.ToLower().EndsWith(".vodcast"));
 }
Esempio n. 45
0
 public override void Assign(IMediaLocation location, IEnumerable<InitializationParameter> parameters, Guid id)
 {
     base.Assign(location, parameters, id);
     this.location = location as IFolderMediaLocation;
 }
 public static bool IsVob(this IMediaLocation location)
 {
     return(Helper.IsVob(location.Path));
 }
 public static bool IsHidden(this IMediaLocation location)
 {
     return((location.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden);
 }
Esempio n. 48
0
 public override void Assign(IMediaLocation location, IEnumerable<InitializationParameter> parameters, Guid id)
 {
     RefreshUserSettings(location);
     base.Assign(location, parameters, id);
 }
Esempio n. 49
0
 public override void Assign(IMediaLocation location, IEnumerable<InitializationParameter> parameters, Guid id)
 {
     base.Assign(location, parameters, id);
     if (parameters != null) {
         foreach (var parameter in parameters) {
             var mediaTypeParam = parameter as MediaTypeInitializationParameter;
             if (mediaTypeParam != null ) {
                 MediaType = mediaTypeParam.MediaType;
             }
         }
     }
 }
Esempio n. 50
0
 public abstract BaseItem CreateInstance(IMediaLocation location, IEnumerable<InitializationParameter> setup);
Esempio n. 51
0
 private void RefreshUserSettings(IMediaLocation location)
 {
     VodcastContents parser = new VodcastContents(location.Contents);
     this.Url = parser.Url;
     this.DownloadPolicy = parser.DownloadPolicy;
     this.FilesToRetain = parser.FilesToRetain;
 }
Esempio n. 52
0
 public BaseItem GetItem(IMediaLocation location)
 {
     return(GetItem <BaseItem>(location));
 }
 public abstract void ResolveEntity(IMediaLocation location,
     out BaseItemFactory factory,
     out IEnumerable<InitializationParameter> setup);