Skip to content
This repository has been archived by the owner on Feb 28, 2022. It is now read-only.

Remove all warnings #50

Merged
merged 4 commits into from
Dec 4, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 1 addition & 2 deletions Emby.AutoOrganize/Core/AutoOrganizeOptionsFactory.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using Emby.AutoOrganize.Model;
using MediaBrowser.Common.Configuration;

Expand Down
2 changes: 0 additions & 2 deletions Emby.AutoOrganize/Core/ConfigurationExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
using System;
using System.Linq;
using System.Threading;
using Emby.AutoOrganize.Model;
using MediaBrowser.Common.Configuration;
Expand Down
59 changes: 29 additions & 30 deletions Emby.AutoOrganize/Core/EpisodeFileOrganizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Providers;
using Microsoft.Extensions.Logging;
Expand Down Expand Up @@ -880,11 +879,11 @@ private string GetSeriesDirectoryName(Series series, TvFileOrganizationOptions o
}

var seasonFolderName = options.SeriesFolderPattern.
Replace("%sn", seriesName)
.Replace("%s.n", seriesName.Replace(" ", "."))
.Replace("%s_n", seriesName.Replace(" ", "_"))
.Replace("%sy", serieYear.ToString())
.Replace("%fn", seriesFullName);
Replace("%sn", seriesName, StringComparison.Ordinal)
.Replace("%s.n", seriesName.Replace(" ", ".", StringComparison.Ordinal), StringComparison.Ordinal)
.Replace("%s_n", seriesName.Replace(" ", "_", StringComparison.Ordinal), StringComparison.Ordinal)
crobibero marked this conversation as resolved.
Show resolved Hide resolved
.Replace("%sy", serieYear.ToString(), StringComparison.Ordinal)
.Replace("%fn", seriesFullName, StringComparison.Ordinal);

return _fileSystem.GetValidFilename(seasonFolderName);
}
Expand Down Expand Up @@ -971,9 +970,9 @@ private string GetSeasonFolderPath(Series series, int seasonNumber, TvFileOrgani
}

var seasonFolderName = options.SeasonFolderPattern
.Replace("%s", seasonNumber.ToString(_usCulture))
.Replace("%0s", seasonNumber.ToString("00", _usCulture))
.Replace("%00s", seasonNumber.ToString("000", _usCulture));
.Replace("%s", seasonNumber.ToString(_usCulture), StringComparison.Ordinal)
.Replace("%0s", seasonNumber.ToString("00", _usCulture), StringComparison.Ordinal)
.Replace("%00s", seasonNumber.ToString("000", _usCulture), StringComparison.Ordinal);

return Path.Combine(path, _fileSystem.GetValidFilename(seasonFolderName));
}
Expand Down Expand Up @@ -1016,34 +1015,34 @@ private void SetEpisodeFileName(string sourcePath, Series series, Season season,
throw new OrganizationException("GetEpisodeFileName: Configured episode name pattern is empty!");
}

var result = pattern.Replace("%sn", seriesName)
.Replace("%s.n", seriesName.Replace(" ", "."))
.Replace("%s_n", seriesName.Replace(" ", "_"))
.Replace("%s", seasonNumber.ToString(_usCulture))
.Replace("%0s", seasonNumber.ToString("00", _usCulture))
.Replace("%00s", seasonNumber.ToString("000", _usCulture))
.Replace("%ext", sourceExtension)
.Replace("%en", "%#1")
.Replace("%e.n", "%#2")
.Replace("%e_n", "%#3")
.Replace("%fn", Path.GetFileNameWithoutExtension(sourcePath));
var result = pattern.Replace("%sn", seriesName, StringComparison.Ordinal)
.Replace("%s.n", seriesName.Replace(" ", ".", StringComparison.Ordinal), StringComparison.Ordinal)
.Replace("%s_n", seriesName.Replace(" ", "_", StringComparison.Ordinal), StringComparison.Ordinal)
crobibero marked this conversation as resolved.
Show resolved Hide resolved
.Replace("%s", seasonNumber.ToString(_usCulture), StringComparison.Ordinal)
.Replace("%0s", seasonNumber.ToString("00", _usCulture), StringComparison.Ordinal)
.Replace("%00s", seasonNumber.ToString("000", _usCulture), StringComparison.Ordinal)
.Replace("%ext", sourceExtension, StringComparison.Ordinal)
.Replace("%en", "%#1", StringComparison.Ordinal)
.Replace("%e.n", "%#2", StringComparison.Ordinal)
.Replace("%e_n", "%#3", StringComparison.Ordinal)
.Replace("%fn", Path.GetFileNameWithoutExtension(sourcePath), StringComparison.Ordinal);

if (endingEpisodeNumber.HasValue)
{
result = result.Replace("%ed", endingEpisodeNumber.Value.ToString(_usCulture))
.Replace("%0ed", endingEpisodeNumber.Value.ToString("00", _usCulture))
.Replace("%00ed", endingEpisodeNumber.Value.ToString("000", _usCulture));
result = result.Replace("%ed", endingEpisodeNumber.Value.ToString(_usCulture), StringComparison.Ordinal)
.Replace("%0ed", endingEpisodeNumber.Value.ToString("00", _usCulture), StringComparison.Ordinal)
.Replace("%00ed", endingEpisodeNumber.Value.ToString("000", _usCulture), StringComparison.Ordinal);
}

result = result.Replace("%e", episodeNumber.ToString(_usCulture))
.Replace("%0e", episodeNumber.ToString("00", _usCulture))
.Replace("%00e", episodeNumber.ToString("000", _usCulture));
result = result.Replace("%e", episodeNumber.ToString(_usCulture), StringComparison.Ordinal)
.Replace("%0e", episodeNumber.ToString("00", _usCulture), StringComparison.Ordinal)
.Replace("%00e", episodeNumber.ToString("000", _usCulture), StringComparison.Ordinal);

if (result.Contains("%#"))
if (result.Contains("%#", StringComparison.Ordinal))
{
result = result.Replace("%#1", episodeTitle)
.Replace("%#2", episodeTitle.Replace(" ", "."))
.Replace("%#3", episodeTitle.Replace(" ", "_"));
result = result.Replace("%#1", episodeTitle, StringComparison.Ordinal)
.Replace("%#2", episodeTitle.Replace(' ', '.'), StringComparison.Ordinal)
.Replace("%#3", episodeTitle.Replace(' ', '_'), StringComparison.Ordinal);
}

// Finally, call GetValidFilename again in case user customized the episode expression with any invalid filename characters
Expand Down
5 changes: 3 additions & 2 deletions Emby.AutoOrganize/Core/FileOrganizationService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ public async Task PerformOrganization(string resultId)
.ConfigureAwait(false);
break;
case FileOrganizerType.Movie:
var movieOrganizer = new MovieFileOrganizer(this,
var movieOrganizer = new MovieFileOrganizer(
this,
_fileSystem,
_loggerFactory.CreateLogger<MovieFileOrganizer>(),
_libraryManager,
Expand Down Expand Up @@ -239,7 +240,7 @@ public async Task PerformOrganization(MovieFileOrganizationRequest request)
_fileSystem,
_loggerFactory.CreateLogger<MovieFileOrganizer>(),
_libraryManager,
_libraryMonitor,
_libraryMonitor,
_providerManager);

var options = _config.GetAutoOrganizeOptions();
Expand Down
14 changes: 6 additions & 8 deletions Emby.AutoOrganize/Core/MovieFileOrganizer.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading;
Expand Down Expand Up @@ -551,12 +549,12 @@ private string GetMovieNameInternal(string sourcePath, Movie movie, string patte
throw new OrganizationException("GetMovieFolder: Configured movie name pattern is empty!");
}

var result = pattern.Replace("%mn", movieName)
.Replace("%m.n", movieName.Replace(" ", "."))
.Replace("%m_n", movieName.Replace(" ", "_"))
.Replace("%my", productionYear.ToString())
.Replace("%ext", sourceExtension)
.Replace("%fn", Path.GetFileNameWithoutExtension(sourcePath));
var result = pattern.Replace("%mn", movieName, StringComparison.Ordinal)
.Replace("%m.n", movieName.Replace(" ", ".", StringComparison.Ordinal), StringComparison.Ordinal)
.Replace("%m_n", movieName.Replace(" ", "_", StringComparison.Ordinal), StringComparison.Ordinal)
crobibero marked this conversation as resolved.
Show resolved Hide resolved
.Replace("%my", productionYear.ToString(), StringComparison.Ordinal)
.Replace("%ext", sourceExtension, StringComparison.Ordinal)
.Replace("%fn", Path.GetFileNameWithoutExtension(sourcePath), StringComparison.Ordinal);

// Finally, call GetValidFilename again in case user customized the movie expression with any invalid filename characters
return _fileSystem.GetValidFilename(result).Trim();
Expand Down
2 changes: 1 addition & 1 deletion Emby.AutoOrganize/Core/MovieFolderOrganizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ private bool IsPathAlreadyInMediaLibrary(string path, List<string> libraryFolder
_fileSystem,
_loggerFactory.CreateLogger<MovieFileOrganizer>(),
_libraryManager,
_libraryMonitor,
_libraryMonitor,
_providerManager);

foreach (var file in eligibleFiles)
Expand Down
37 changes: 18 additions & 19 deletions Emby.AutoOrganize/Core/NameUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using System.Globalization;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Model.Extensions;

namespace Emby.AutoOrganize.Core
{
Expand All @@ -28,7 +27,7 @@ internal static int GetMatchScore(string sortedName, int? year, string itemName,
var seriesNameWithoutYear = itemName;
if (itemProductionYear.HasValue)
{
seriesNameWithoutYear = seriesNameWithoutYear.Replace(itemProductionYear.Value.ToString(UsCulture), string.Empty);
seriesNameWithoutYear = seriesNameWithoutYear.Replace(itemProductionYear.Value.ToString(UsCulture), string.Empty, StringComparison.Ordinal);
}

if (IsNameMatch(sortedName, seriesNameWithoutYear))
Expand Down Expand Up @@ -80,23 +79,23 @@ private static string GetComparableName(string name)

name = " " + name + " ";

name = name.Replace(".", " ")
.Replace("_", " ")
.Replace(" and ", " ")
.Replace(".and.", " ")
.Replace("&", " ")
.Replace("!", " ")
.Replace("(", " ")
.Replace(")", " ")
.Replace(":", " ")
.Replace(",", " ")
.Replace("-", " ")
.Replace("'", " ")
.Replace("[", " ")
.Replace("]", " ")
.Replace(" a ", string.Empty, StringComparison.OrdinalIgnoreCase)
.Replace(" the ", string.Empty, StringComparison.OrdinalIgnoreCase)
.Replace(" ", string.Empty);
name = name.Replace(".", " ", StringComparison.Ordinal)
.Replace("_", " ", StringComparison.Ordinal)
.Replace(" and ", " ", StringComparison.Ordinal)
.Replace(".and.", " ", StringComparison.Ordinal)
crobibero marked this conversation as resolved.
Show resolved Hide resolved
.Replace("&", " ", StringComparison.Ordinal)
.Replace("!", " ", StringComparison.Ordinal)
.Replace("(", " ", StringComparison.Ordinal)
.Replace(")", " ", StringComparison.Ordinal)
.Replace(":", " ", StringComparison.Ordinal)
.Replace(",", " ", StringComparison.Ordinal)
.Replace("-", " ", StringComparison.Ordinal)
.Replace("'", " ", StringComparison.Ordinal)
.Replace("[", " ", StringComparison.Ordinal)
.Replace("]", " ", StringComparison.Ordinal)
.Replace(" a ", string.Empty, StringComparison.OrdinalIgnoreCase)
.Replace(" the ", string.Empty, StringComparison.OrdinalIgnoreCase)
.Replace(" ", string.Empty, StringComparison.Ordinal);

return name.Trim();
}
Expand Down
2 changes: 0 additions & 2 deletions Emby.AutoOrganize/Core/OrganizationException.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Emby.AutoOrganize.Core
{
Expand Down
1 change: 0 additions & 1 deletion Emby.AutoOrganize/Core/OrganizerScheduledTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Emby.AutoOrganize.Model;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
Expand Down
3 changes: 0 additions & 3 deletions Emby.AutoOrganize/Data/ManagedConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SQLitePCL.pretty;

namespace Emby.AutoOrganize.Data
Expand Down
1 change: 0 additions & 1 deletion Emby.AutoOrganize/Data/ReaderWriterLockSlimExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#pragma warning disable SA1600 // Elements should be documented

using System;
using System.Collections.Generic;
using System.Threading;

namespace Emby.AutoOrganize.Data
Expand Down
6 changes: 3 additions & 3 deletions Emby.AutoOrganize/Emby.AutoOrganize.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

Expand Down Expand Up @@ -45,12 +45,12 @@
</ItemGroup>

<!-- Code Analyzers-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.8" PrivateAssets="All" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
</ItemGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<PropertyGroup>
<CodeAnalysisRuleSet>../jellyfin.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>

Expand Down
1 change: 0 additions & 1 deletion Emby.AutoOrganize/Model/MovieFileOrganizationOptions.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;

Expand Down
1 change: 0 additions & 1 deletion Emby.AutoOrganize/Model/TvFileOrganizationOptions.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;

Expand Down
14 changes: 10 additions & 4 deletions Emby.AutoOrganize/PluginEntryPoint.cs
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Emby.AutoOrganize.Core;
using Emby.AutoOrganize.Data;
using Emby.AutoOrganize.Model;
using Jellyfin.Data.Events;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Session;
using MediaBrowser.Model.Tasks;
using Microsoft.Extensions.Logging;

Expand All @@ -39,6 +35,15 @@ public sealed class PluginEntryPoint : IServerEntryPoint
/// <summary>
/// Initializes a new instance of the <see cref="PluginEntryPoint"/> class.
/// </summary>
/// <param name="sessionManager">Instance of the <see cref="ISessionManager"/> interface.</param>
/// <param name="taskManager">Instance of the <see cref="ITaskManager"/> interface.</param>
/// <param name="loggerFactory">Instance of the <see cref="ILoggerFactory"/> interface.</param>
/// <param name="libraryMonitor">Instance of the <see cref="ILibraryMonitor"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="config">Instance of the <see cref="IServerConfigurationManager"/> interface.</param>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param>
/// <param name="json">Instance of the <see cref="IJsonSerializer"/> interface.</param>
public PluginEntryPoint(
ISessionManager sessionManager,
ITaskManager taskManager,
Expand Down Expand Up @@ -105,6 +110,7 @@ private IFileOrganizationRepository GetRepository()
return repo;
}

/// <inheritdoc />
public void Dispose()
{
_taskManager?.Dispose();
Expand Down