From bbff25fd5479dbf62fe9b0d72d7d21d25895ddba Mon Sep 17 00:00:00 2001 From: kaso17 Date: Thu, 19 Jan 2017 15:03:44 +0100 Subject: [PATCH] Delete JackettUpdate temp files --- src/Jackett/Services/ServerService.cs | 1 + src/Jackett/Services/UpdateService.cs | 33 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/Jackett/Services/ServerService.cs b/src/Jackett/Services/ServerService.cs index 96261d711..eda06d206 100644 --- a/src/Jackett/Services/ServerService.cs +++ b/src/Jackett/Services/ServerService.cs @@ -177,6 +177,7 @@ namespace Jackett.Services } indexerService.SortIndexers(); client.Init(); + updater.CleanupTempDir(); } public void Start() diff --git a/src/Jackett/Services/UpdateService.cs b/src/Jackett/Services/UpdateService.cs index 81f7a92c1..e51227b16 100644 --- a/src/Jackett/Services/UpdateService.cs +++ b/src/Jackett/Services/UpdateService.cs @@ -24,6 +24,7 @@ namespace Jackett.Services { void StartUpdateChecker(); void CheckForUpdatesNow(); + void CleanupTempDir(); } public class UpdateService: IUpdateService @@ -172,6 +173,38 @@ namespace Jackett.Services return req; } + public void CleanupTempDir() + { + var tempDir = Path.GetTempPath(); + + if (!Directory.Exists(tempDir)) + { + logger.Error("Temp dir doesn't exist: " + tempDir.ToString()); + return; + } + + try { + DirectoryInfo d = new DirectoryInfo(tempDir); + foreach (var dir in d.GetDirectories("JackettUpdate-*")) + { + try { + logger.Info("Deleting JackettUpdate temp files from " + dir.FullName); + dir.Delete(true); + } + catch (Exception e) + { + logger.Error("Error while deleting temp files from " + dir.FullName); + logger.Error(e); + } + } + } + catch (Exception e) + { + logger.Error("Unexpected error while deleting temp files from " + tempDir.ToString()); + logger.Error(e); + } + } + private async Task DownloadRelease(List assets, bool isWindows, string version) { var targetAsset = assets.Where(a => isWindows ? a.Browser_download_url.ToLowerInvariant().EndsWith(".zip") : a.Browser_download_url.ToLowerInvariant().EndsWith(".gz")).FirstOrDefault();