예제 #1
0
        public IFileInfo Rename(IFileInfo file)
        {
            if (!_parser.IsEpisode(file.Name))
            {
                throw new BadEpisodeFileException(nameof(file), file.Name);
            }

            var item = _parser.Parse(file.Name);

            item = _populator.Populate(item);
            return(_mover.Move(file, item));
        }
예제 #2
0
        public void Rename(string path)
        {
            var file = _filesystem.FileInfo.FromFileName(path);

            if (!file.Exists)
            {
                throw new FileNotFoundException(path);
            }

            if (_parser.IsMovie(file.Name))
            {
                _movies.Rename(file);
            }
            else if (_parser.IsEpisode(file.Name))
            {
                _series.Rename(file);
            }
            else
            {
                throw new AmbiguousSceneNameException(file);
            }
        }
예제 #3
0
        public void Rename(string path)
        {
            var folder = _filesystem.DirectoryInfo.FromDirectoryName(path);

            if (!folder.Exists)
            {
                throw new FolderNotFoundException(path);
            }

            if (_parser.IsMovie(folder.Name))
            {
                _movies.Rename(folder);
            }
            else if (_parser.IsEpisode(folder.Name))
            {
                _series.Rename(folder);
            }
            else
            {
                throw new AmbiguousSceneNameException(folder);
            }
        }