mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-24 00:20:57 +01:00
added auto-organize setting
This commit is contained in:
@@ -43,6 +43,13 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||
_providerManager = providerManager;
|
||||
}
|
||||
|
||||
public Task<FileOrganizationResult> OrganizeEpisodeFile(string path, CancellationToken cancellationToken)
|
||||
{
|
||||
var options = _config.GetAutoOrganizeOptions().TvOptions;
|
||||
|
||||
return OrganizeEpisodeFile(path, options, false, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<FileOrganizationResult> OrganizeEpisodeFile(string path, TvFileOrganizationOptions options, bool overwriteExisting, CancellationToken cancellationToken)
|
||||
{
|
||||
_logger.Info("Sorting file {0}", path);
|
||||
@@ -56,7 +63,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||
FileSize = new FileInfo(path).Length
|
||||
};
|
||||
|
||||
var namingOptions = ((LibraryManager) _libraryManager).GetNamingOptions();
|
||||
var namingOptions = ((LibraryManager)_libraryManager).GetNamingOptions();
|
||||
var resolver = new Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger());
|
||||
|
||||
var episodeInfo = resolver.Resolve(path, false) ??
|
||||
@@ -254,7 +261,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||
.ToList();
|
||||
|
||||
var targetFilenameWithoutExtension = Path.GetFileNameWithoutExtension(targetPath);
|
||||
|
||||
|
||||
foreach (var file in files)
|
||||
{
|
||||
directory = Path.GetDirectoryName(file);
|
||||
|
||||
@@ -48,8 +48,6 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||
|
||||
progress.Report(10);
|
||||
|
||||
var scanLibrary = false;
|
||||
|
||||
if (eligibleFiles.Count > 0)
|
||||
{
|
||||
var numComplete = 0;
|
||||
@@ -61,12 +59,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||
|
||||
try
|
||||
{
|
||||
var result = await organizer.OrganizeEpisodeFile(file.FullName, options, options.OverwriteExistingEpisodes, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
if (result.Status == FileSortingStatus.Success)
|
||||
{
|
||||
scanLibrary = true;
|
||||
}
|
||||
await organizer.OrganizeEpisodeFile(file.FullName, options, options.OverwriteExistingEpisodes, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -106,12 +99,6 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||
}
|
||||
}
|
||||
|
||||
if (scanLibrary)
|
||||
{
|
||||
await _libraryManager.ValidateMediaLibrary(new Progress<double>(), CancellationToken.None)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
progress.Report(100);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user