Skip to content

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
ptr727 committed Mar 25, 2023
1 parent 7274055 commit ca953ac
Show file tree
Hide file tree
Showing 12 changed files with 35 additions and 33 deletions.
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"cSpell.words": [
"archlinux",
"checkfornewtools",
"commandline",
"defaultsettings",
Expand All @@ -8,9 +9,12 @@
"Jellyfin",
"Matroska",
"mediafiles",
"Nerdbank",
"Newtonsoft",
"Plex",
"plexcleaner",
"printmediainfo",
"Serilog",
"settingsfile",
"threadcount",
"Vorbis"
Expand Down
4 changes: 2 additions & 2 deletions PlexCleaner/Bitrate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ public void WriteLine(string prefix)
TimeSpan.FromSeconds(Duration));
}

public static string ToBitsPerSecond(long byterate)
public static string ToBitsPerSecond(long byteRate)
{
return Format.BytesToKilo(byterate * 8, "bps");
return Format.BytesToKilo(byteRate * 8, "bps");
}

// Array of bytes per second
Expand Down
4 changes: 0 additions & 4 deletions PlexCleaner/ConfigFileJsonSchema.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ namespace PlexCleaner;
// Base
public record ConfigFileJsonSchemaBase
{
public ConfigFileJsonSchemaBase() { }

// TODO: How to set the $schema through e.g. attributes on the class?
// https://stackoverflow.com/questions/71625019/how-to-inject-the-json-schema-value-during-newtonsoft-jsonconvert-serializeobje
// Schema reference
Expand All @@ -32,8 +30,6 @@ public ConfigFileJsonSchemaBase() { }
[Obsolete]
public record ConfigFileJsonSchema1 : ConfigFileJsonSchemaBase
{
public ConfigFileJsonSchema1() { }

// Deprecated
[Obsolete]
internal ConvertOptions1 ConvertOptions { get; set; } = new();
Expand Down
10 changes: 5 additions & 5 deletions PlexCleaner/FfMpegTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -305,17 +305,17 @@ private static void CreateTrackArgs(SelectMediaInfo selectMediaInfo, out string
// Copy or encode
switch (trackInfo)
{
case VideoInfo info:
sb.Append(info.State == TrackInfo.StateType.Keep
case VideoInfo videoInfo:
sb.Append(videoInfo.State == TrackInfo.StateType.Keep
? $"-c:v:{videoIndex++} copy "
: $"-c:v:{videoIndex++} {Program.Config.ConvertOptions.FfMpegOptions.Video} ");
break;
case AudioInfo info:
sb.Append(info.State == TrackInfo.StateType.Keep
case AudioInfo audioInfo:
sb.Append(audioInfo.State == TrackInfo.StateType.Keep
? $"-c:a:{audioIndex++} copy "
: $"-c:a:{audioIndex++} {Program.Config.ConvertOptions.FfMpegOptions.Audio} ");
break;
case SubtitleInfo info:
case SubtitleInfo:
// No re-encoding of subtitles, just copy
sb.Append($"-c:s:{subtitleIndex++} copy ");
break;
Expand Down
8 changes: 4 additions & 4 deletions PlexCleaner/MediaInfoToolXmlSchema.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ public class MediaInfo

public static MediaInfo FromXml(string xml)
{
XmlSerializer xmlserializer = new(typeof(MediaInfo));
using TextReader textreader = new StringReader(xml);
using var xmlReader = XmlReader.Create(textreader);
return xmlserializer.Deserialize(xmlReader) as MediaInfo;
XmlSerializer xmlSerializer = new(typeof(MediaInfo));
using TextReader textReader = new StringReader(xml);
using var xmlReader = XmlReader.Create(textReader);
return xmlSerializer.Deserialize(xmlReader) as MediaInfo;
}

public static bool StringToBool(string value)
Expand Down
3 changes: 1 addition & 2 deletions PlexCleaner/Monitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,7 @@ void ErrorHandler(object s, ErrorEventArgs e)
Log.Logger.Information("Monitored changes in : {Folder}", folder);
}

Process process = new();
process.ProcessFolders(watchlist);
Process.ProcessFolders(watchlist);
Process.DeleteEmptyFolders(watchlist);
}

Expand Down
2 changes: 1 addition & 1 deletion PlexCleaner/Process.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public Process()
Program.Config.ProcessOptions.KeepLanguages.Add(Program.Config.ProcessOptions.DefaultLanguage);
}

public bool ProcessFolders(List<string> folderList)
public static bool ProcessFolders(List<string> folderList)
{
// Create the file and directory list
if (!FileEx.EnumerateDirectories(folderList, out List<FileInfo> fileInfoList, out _))
Expand Down
19 changes: 14 additions & 5 deletions PlexCleaner/ProcessFile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ public bool RepairMediaInfoErrors(ref bool modified)
// Conditional
if (!Program.Config.VerifyOptions.AutoRepair)
{
// If repair is not enabled jsut clear error state
// If repair is not enabled just clear error state
ClearMediaInfoErrors();
return true;
}
Expand Down Expand Up @@ -1727,7 +1727,7 @@ public SelectMediaInfo FindUnwantedLanguageTracks()
// Use the first track
var videoInfo = MkvMergeInfo.Video.First();
selectMediaInfo.Move(videoInfo, true);
Log.Logger.Warning("No video track matching requested language : {Available} != {Languages}, Using: {Selected}", Language.GetLanguageList(MkvMergeInfo.Video), Program.Config.ProcessOptions.KeepLanguages, videoInfo.LanguageIetf);
Log.Logger.Warning("No video track matching requested language : {Available} not in {Languages}, Selecting {Selected}", Language.GetLanguageList(MkvMergeInfo.Video), Program.Config.ProcessOptions.KeepLanguages, videoInfo.LanguageIetf);
}

// Keep at least one audio track if any
Expand All @@ -1736,13 +1736,13 @@ public SelectMediaInfo FindUnwantedLanguageTracks()
// Use the preferred audio codec track from the unselected tracks
var audioInfo = FindPreferredAudio(selectMediaInfo.NotSelected.Audio);
selectMediaInfo.Move(audioInfo, true);
Log.Logger.Warning("No audio track matching requested language : {Available} != {Languages}, Using: {Selected}", Language.GetLanguageList(MkvMergeInfo.Audio), Program.Config.ProcessOptions.KeepLanguages, audioInfo.LanguageIetf);
Log.Logger.Warning("No audio track matching requested language : {Available} not in {Languages}, Selecting {Selected}", Language.GetLanguageList(MkvMergeInfo.Audio), Program.Config.ProcessOptions.KeepLanguages, audioInfo.LanguageIetf);
}

// No language matching subtitle tracks
if (selectMediaInfo.Selected.Subtitle.Count == 0 && MkvMergeInfo.Subtitle.Count > 0)
{
Log.Logger.Warning("No subtitle track matching requested language : {Available} != {Languages}", Language.GetLanguageList(MkvMergeInfo.Subtitle), Program.Config.ProcessOptions.KeepLanguages);
Log.Logger.Warning("No subtitle track matching requested language : {Available} not in {Languages}", Language.GetLanguageList(MkvMergeInfo.Subtitle), Program.Config.ProcessOptions.KeepLanguages);
}

// Selected is Keep
Expand All @@ -1753,6 +1753,14 @@ public SelectMediaInfo FindUnwantedLanguageTracks()

static AudioInfo FindPreferredAudio(IEnumerable<TrackInfo> trackInfoList)
{
// No preferred tracks, or only 1 track, use first track
Debug.Assert(trackInfoList.Count() > 0);
if (Program.Config.ProcessOptions.PreferredAudioFormats.Count == 0 ||
trackInfoList.Count() == 1)
{
return (AudioInfo)trackInfoList.First();
}

// Iterate through the preferred codecs in order
var audioInfoList = trackInfoList.OfType<AudioInfo>().ToList();
foreach (var codec in Program.Config.ProcessOptions.PreferredAudioFormats)
Expand All @@ -1761,12 +1769,13 @@ static AudioInfo FindPreferredAudio(IEnumerable<TrackInfo> trackInfoList)
var audioInfo = audioInfoList.Find(item => item.Format.Equals(codec, StringComparison.OrdinalIgnoreCase));
if (audioInfo != null)
{
// Done
Log.Logger.Information("Preferred audio codec selected : {Preferred} in {Codecs}", audioInfo.Format, audioInfoList.Select(item => item.Format));
return audioInfo;
}
}

// Return first item
Log.Logger.Information("No audio codec matching preferred codecs : {Preferred} not in {Codecs}, Selecting {Selected}", Program.Config.ProcessOptions.PreferredAudioFormats, audioInfoList.Select(item => item.Format), audioInfoList.First().Codec);
return audioInfoList.First();
}

Expand Down
6 changes: 3 additions & 3 deletions PlexCleaner/SevenZipTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ public bool BootstrapDownload()
return false;
}

// Download the lastest version in the tools root folder
// Download the latest version in the tools root folder
Log.Logger.Information("Downloading \"{FileName}\" ...", mediaToolInfo.FileName);
var updateFile = Tools.CombineToolPath(mediaToolInfo.FileName);
if (!Download.DownloadFile(new Uri(mediaToolInfo.Url), updateFile))
Expand Down Expand Up @@ -215,8 +215,8 @@ public bool BootstrapDownload()
return FileEx.RenameFolder(extractPath, toolPath);
}

private const string InstalledVeersionPattern = @"7-Zip\ ([^\s]+)\ (?<version>.*?)\ ";
[GeneratedRegex(InstalledVeersionPattern, RegexOptions.IgnoreCase | RegexOptions.Multiline)]
private const string InstalledVersionPattern = @"7-Zip\ ([^\s]+)\ (?<version>.*?)\ ";
[GeneratedRegex(InstalledVersionPattern, RegexOptions.IgnoreCase | RegexOptions.Multiline)]
private static partial Regex InstalledVersionRegex();

private const string LatestVersionPattern = @"Download\ 7-Zip\ (?<major>.*?)\.(?<minor>.*?)\ \((?<date>.*?)\)\ for\ Windows";
Expand Down
4 changes: 0 additions & 4 deletions PlexCleaner/SidecarFileJsonSchema.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ namespace PlexCleaner;

public record SidecarFileJsonSchemaBase
{
public SidecarFileJsonSchemaBase() { }

// TODO: Add a schema
// Schema reference
// [JsonProperty(PropertyName = "$schema", Order = -3)]
Expand All @@ -24,8 +22,6 @@ public SidecarFileJsonSchemaBase() { }
[Obsolete]
public record SidecarFileJsonSchema1 : SidecarFileJsonSchemaBase
{
public SidecarFileJsonSchema1() { }

[Obsolete]
internal string FfMpegToolVersion { get; set; }
[Obsolete]
Expand Down
2 changes: 1 addition & 1 deletion PlexCleaner/TrackInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ internal TrackInfo(MkvToolJsonSchema.Track trackJson)
}
else
{
Log.Logger.Warning("MkvToolJsonSchema : IETF language not set, converting ISO639-3 to IETF : {Language} -> {IETFLanguage}", Language, lookupLanguage);
Log.Logger.Warning("MkvToolJsonSchema : IETF language not set, converting ISO639-3 to IETF : {Language} -> {IetfLanguage}", Language, lookupLanguage);
LanguageIetf = lookupLanguage;

// Set track error and recommend remux
Expand Down
2 changes: 0 additions & 2 deletions PlexCleaner/VideoInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ namespace PlexCleaner;

public class VideoInfo : TrackInfo
{
public VideoInfo() { }

internal VideoInfo(MkvToolJsonSchema.Track track) : base(track)
{
// Missing: Profile
Expand Down

0 comments on commit ca953ac

Please sign in to comment.