Skip to content

Commit

Permalink
Add additional logging for latest tool versions
Browse files Browse the repository at this point in the history
  • Loading branch information
ptr727 committed May 29, 2023
1 parent 90b1b58 commit d9c16de
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 15 deletions.
10 changes: 6 additions & 4 deletions PlexCleaner/FfMpegTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,9 @@ protected override bool GetLatestVersionWindows(out MediaToolInfo mediaToolInfo)
// https://www.gyan.dev/ffmpeg/builds/packages/

// Load the release version page
// https://www.gyan.dev/ffmpeg/builds/release-version
mediaToolInfo.Version = Download.GetHttpClient().GetStringAsync("https://www.gyan.dev/ffmpeg/builds/release-version").Result;
const string uri = "https://www.gyan.dev/ffmpeg/builds/release-version";
Log.Logger.Information("{Tool} : Reading latest version from : {Uri}", GetToolFamily(), uri);
mediaToolInfo.Version = Download.GetHttpClient().GetStringAsync(uri).Result;

// Create download URL and the output filename using the version number
// https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-6.0-full_build.7z
Expand All @@ -124,8 +125,9 @@ protected override bool GetLatestVersionLinux(out MediaToolInfo mediaToolInfo)
// https://johnvansickle.com/ffmpeg/

// Load the release version page
// https://johnvansickle.com/ffmpeg/release-readme.txt
var readmePage = Download.GetHttpClient().GetStringAsync("https://johnvansickle.com/ffmpeg/release-readme.txt").Result;
const string uri = "https://johnvansickle.com/ffmpeg/release-readme.txt";
Log.Logger.Information("{Tool} : Reading latest version from : {Uri}", GetToolFamily(), uri);
var readmePage = Download.GetHttpClient().GetStringAsync(uri).Result;

// Read each line until we find the build and version lines
// build: ffmpeg-5.0-amd64-static.tar.xz
Expand Down
5 changes: 3 additions & 2 deletions PlexCleaner/MediaInfoTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,9 @@ protected override bool GetLatestVersionWindows(out MediaToolInfo mediaToolInfo)
try
{
// Load the release history page
// https://raw.githubusercontent.com/MediaArea/MediaInfo/master/History_CLI.txt
var historyPage = Download.GetHttpClient().GetStringAsync("https://raw.githubusercontent.com/MediaArea/MediaInfo/master/History_CLI.txt").Result;
const string uri = "https://raw.githubusercontent.com/MediaArea/MediaInfo/master/History_CLI.txt";
Log.Logger.Information("{Tool} : Reading latest version from : {Uri}", GetToolFamily(), uri);
var historyPage = Download.GetHttpClient().GetStringAsync(uri).Result;

// Read each line until we find the first version line
// E.g. Version 17.10, 2017-11-02
Expand Down
9 changes: 5 additions & 4 deletions PlexCleaner/MkvMergeTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,13 @@ protected override bool GetLatestVersionWindows(out MediaToolInfo mediaToolInfo)
try
{
// Download latest release file
// https://mkvtoolnix.download/latest-release.xml.gz
var releaseStream = Download.GetHttpClient().GetStreamAsync("https://mkvtoolnix.download/latest-release.xml.gz").Result;
const string uri = "https://mkvtoolnix.download/latest-release.xml.gz";
Log.Logger.Information("{Tool} : Reading latest version from : {Uri}", GetToolFamily(), uri);
var releaseStream = Download.GetHttpClient().GetStreamAsync(uri).Result;

// Get XML from Gzip
using GZipStream gzstream = new(releaseStream, CompressionMode.Decompress);
using StreamReader sr = new(gzstream);
using GZipStream gzStream = new(releaseStream, CompressionMode.Decompress);
using StreamReader sr = new(gzStream);
var xml = sr.ReadToEnd();

// Get the version number from XML
Expand Down
5 changes: 3 additions & 2 deletions PlexCleaner/SevenZipTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,9 @@ protected override bool GetLatestVersionWindows(out MediaToolInfo mediaToolInfo)
{
// Load the download page
// TODO: Find a more reliable way of getting the latest release
// https://www.7-zip.org/download.html
var downloadPage = Download.GetHttpClient().GetStringAsync("https://www.7-zip.org/download.html").Result;
const string uri= "https://www.7-zip.org/download.html";
Log.Logger.Information("{Tool} : Reading latest version from : {Uri}", GetToolFamily(), uri);
var downloadPage = Download.GetHttpClient().GetStringAsync(uri).Result;

// Extract the version number from the page source
// E.g. "Download 7-Zip 22.01 (2022-07-15):"
Expand Down
8 changes: 5 additions & 3 deletions PlexCleaner/Tools.cs
Original file line number Diff line number Diff line change
Expand Up @@ -260,15 +260,16 @@ public static bool CheckForNewTools()
List<MediaTool> toolList = GetToolFamilyList();
foreach (MediaTool mediaTool in toolList)
{
// Get the latest version of each tool
Log.Logger.Information("Getting latest version of {Tool} ...", mediaTool.GetToolFamily());
// Get the latest version of the tool
Log.Logger.Information("{Tool} : Getting latest version ...", mediaTool.GetToolFamily());
if (!mediaTool.GetLatestVersion(out MediaToolInfo latestToolInfo))
{
Log.Logger.Error("{Tool} : Failed to get latest version", mediaTool.GetToolFamily());
return false;
}

// Get the URL details
Log.Logger.Information("{Tool} : Getting download URI details : {Uri}", mediaTool.GetToolFamily(), latestToolInfo.Url);
if (!GetUrlDetails(latestToolInfo))
{
Log.Logger.Error("{Tool} : Failed to get download URI details : {Uri}", mediaTool.GetToolFamily(), latestToolInfo.Url);
Expand Down Expand Up @@ -346,6 +347,7 @@ private static bool GetUrlDetails(MediaToolInfo mediaToolInfo)
return false;
}

// Set retrieved values
mediaToolInfo.Size = size;
mediaToolInfo.ModifiedTime = modified;

Expand Down

0 comments on commit d9c16de

Please sign in to comment.