public async Task PerformMovieOrganization(MovieFileOrganizationRequest request)
        {
            // The OrganizeWithCorrection function is not purely async. To workaround this, use .Yield() to immediately return to the caller
            //await Task.Yield();

            var organizer = new MovieFileOrganizer(_fileOrganizationService, _config, _fileSystem, _logger, _libraryManager,
                _libraryMonitor, _providerManager, _serverManager, _localizationManager);

            await organizer.OrganizeWithCorrection(request, GetAutoOrganizeOptions(), CancellationToken.None).ConfigureAwait(false); ;
        }
Пример #2
0
        public async Task PerformMovieOrganization(MovieFileOrganizationRequest request)
        {
            // The OrganizeWithCorrection function is not purely async. To workaround this, use .Yield() to immediately return to the caller
            //await Task.Yield();

            var organizer = new MovieFileOrganizer(_fileOrganizationService, _config, _fileSystem, _logger, _libraryManager,
                                                   _libraryMonitor, _providerManager, _serverManager, _localizationManager);

            await organizer.OrganizeWithCorrection(request, GetAutoOrganizeOptions(), CancellationToken.None).ConfigureAwait(false);;
        }
Пример #3
0
        public override async Task <FileOrganizationResult> OrganizeWithCorrection(MovieFileOrganizationRequest baseRequest, AutoOrganizeOptions options, CancellationToken cancellationToken)
        {
            var request = (MovieFileOrganizationRequest)baseRequest;

            var result = _organizationService.GetResult(request.ResultId);

            var file = _fileSystem.GetFileInfo(result.OriginalPath);

            result.Type = FileOrganizerType.Movie;

            await OrganizeMovie(result.OriginalPath, request.Name, request.Year, request.TargetFolder, options, true, result, cancellationToken).ConfigureAwait(false);

            await _organizationService.SaveResult(result, CancellationToken.None).ConfigureAwait(false);

            if (file != null && file.Exists && file.DirectoryName != null)
            {
                this.DeleteLeftoverFilesAndEmptyFolders(options, file.DirectoryName);
            }

            return(result);
        }
        public override async Task<FileOrganizationResult> OrganizeWithCorrection(MovieFileOrganizationRequest baseRequest, AutoOrganizeOptions options, CancellationToken cancellationToken)
        {
            var request = (MovieFileOrganizationRequest)baseRequest;

            var result = _organizationService.GetResult(request.ResultId);

            var file = _fileSystem.GetFileInfo(result.OriginalPath);

            result.Type = FileOrganizerType.Movie;

            await OrganizeMovie(result.OriginalPath, request.Name, request.Year, request.TargetFolder, options, true, result, cancellationToken).ConfigureAwait(false);

            await _organizationService.SaveResult(result, CancellationToken.None).ConfigureAwait(false);

            if (file != null && file.Exists && file.DirectoryName != null)
            {
                this.DeleteLeftoverFilesAndEmptyFolders(options, file.DirectoryName);
            }

            return result;
        }
 public abstract Task<FileOrganizationResult> OrganizeWithCorrection(MovieFileOrganizationRequest request, AutoOrganizeOptions options, CancellationToken cancellationToken);
Пример #6
0
 public abstract Task <FileOrganizationResult> OrganizeWithCorrection(MovieFileOrganizationRequest request, AutoOrganizeOptions options, CancellationToken cancellationToken);