From 79c97733db03305479d79a6142c629cce42dd2c7 Mon Sep 17 00:00:00 2001 From: William JCM Date: Mon, 21 Nov 2022 19:20:44 +0100 Subject: [PATCH] ProfileManager: use Logger. --- src/ProfileManager/ProfileManager.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/ProfileManager/ProfileManager.cpp b/src/ProfileManager/ProfileManager.cpp index 575be61..1b358a2 100644 --- a/src/ProfileManager/ProfileManager.cpp +++ b/src/ProfileManager/ProfileManager.cpp @@ -27,6 +27,8 @@ #include +#include "../Logger/Logger.h" + #include "ProfileManager.h" using namespace Containers::Literals; @@ -51,6 +53,8 @@ auto ProfileManager::profiles() -> Containers::ArrayView { } auto ProfileManager::refreshProfiles() -> bool { + LOG_INFO("Refreshing profiles."); + _profiles = Containers::Array{}; using Utility::Path::ListFlag; @@ -59,6 +63,7 @@ auto ProfileManager::refreshProfiles() -> bool { if(!files) { _lastError = _saveDirectory + " can't be opened."; + LOG_ERROR(_lastError); return false; } @@ -72,7 +77,7 @@ auto ProfileManager::refreshProfiles() -> bool { Profile profile{Utility::Path::join(_saveDirectory, file)}; if(!profile.valid()) { - Utility::Warning{} << "Profile"_s << file << "is invalid:"_s << profile.lastError(); + LOG_WARNING_FORMAT("Profile {} is invalid: {}", file, profile.lastError()); continue; } @@ -81,6 +86,7 @@ auto ProfileManager::refreshProfiles() -> bool { if(_profiles.isEmpty()) { _lastError = "No valid profiles were found."_s; + LOG_ERROR(_lastError); return false; } @@ -96,6 +102,7 @@ auto ProfileManager::deleteProfile(std::size_t index, bool delete_builds) -> boo _lastError = Utility::format("Couldn't delete {} (filename: {}).", _profiles[index].companyName(), _profiles[index].filename()); + LOG_ERROR(_lastError); refreshProfiles(); return false; } @@ -124,7 +131,7 @@ auto ProfileManager::backupProfile(std::size_t index, bool backup_builds) -> boo std::tm* time = std::localtime(×tamp); auto& profile = _profiles[index]; - auto filename = Utility::format("{}_{}{:.2d}{:.2d}_{:.2d}{:.2d}{:.2d}.mbprofbackup", + auto filename = Utility::format("{}_{}{:.2d}{:.2d}_{:.2d}{:.2d}{:.2d}.backup.mbst", Utility::String::replaceAll(profile.companyName().data(), " ", "_").c_str(), time->tm_year + 1900, time->tm_mon + 1, time->tm_mday, time->tm_hour, time->tm_min, time->tm_sec); @@ -135,18 +142,21 @@ auto ProfileManager::backupProfile(std::size_t index, bool backup_builds) -> boo if(zip == nullptr) { zip_error_init_with_code(&error, error_code); _lastError = zip_error_strerror(&error); + LOG_ERROR(_lastError); return false; } zip_source_t* profile_source = zip_source_file(zip, Utility::Path::toNativeSeparators(Utility::Path::join(_saveDirectory, profile.filename())).data(), 0, 0); if(profile_source == nullptr) { _lastError = zip_strerror(zip); + LOG_ERROR(_lastError); zip_source_free(profile_source); return false; } if(zip_file_add(zip, profile.filename().data(), profile_source, ZIP_FL_ENC_UTF_8) == -1) { _lastError = zip_strerror(zip); + LOG_ERROR(_lastError); zip_source_free(profile_source); return false; } @@ -183,6 +193,7 @@ auto ProfileManager::backupProfile(std::size_t index, bool backup_builds) -> boo if(zip_close(zip) == -1) { _lastError = zip_strerror(zip); + LOG_ERROR(_lastError); return false; } @@ -204,11 +215,12 @@ void ProfileManager::refreshBackups() { if(!files) { _lastError = _backupsDirectory + " can't be opened."; + LOG_ERROR(_lastError); return; } auto predicate = [](Containers::StringView file)->bool{ - return !file.hasSuffix(".mbprofbackup"_s); + return !(file.hasSuffix(".mbprofbackup"_s) || file.hasSuffix(".backup.mbst")); }; auto files_view = files->exceptSuffix(files->end() - std::remove_if(files->begin(), files->end(), predicate)); @@ -281,6 +293,7 @@ void ProfileManager::refreshBackups() { auto ProfileManager::deleteBackup(std::size_t index) -> bool { if(!Utility::Path::remove(Utility::Path::join(_backupsDirectory, _backups[index].filename))) { _lastError = "Couldn't delete " + _backups[index].filename; + LOG_ERROR(_lastError); return false; } @@ -307,6 +320,7 @@ auto ProfileManager::restoreBackup(std::size_t index) -> bool { zip_error_t error; zip_error_init_with_code(&error, error_code); _lastError = zip_error_strerror(&error); + LOG_ERROR(_lastError); return false; } @@ -316,6 +330,7 @@ auto ProfileManager::restoreBackup(std::size_t index) -> bool { FILE* out = std::fopen(Utility::Path::join(_saveDirectory, file).data(), "wb"); if(out == nullptr) { _lastError = Utility::format(error_format.data(), file, std::strerror(errno)); + LOG_ERROR(_lastError); return false; } @@ -324,6 +339,7 @@ auto ProfileManager::restoreBackup(std::size_t index) -> bool { zip_file_t* zf = zip_fopen(zip, file.data(), ZIP_FL_ENC_GUESS); if(zf == nullptr) { _lastError = Utility::format(error_format.data(), file, zip_strerror(zip)); + LOG_ERROR(_lastError); return false; } @@ -335,12 +351,14 @@ auto ProfileManager::restoreBackup(std::size_t index) -> bool { while((bytes_read = zip_fread(zf, buf.data(), buf.size())) > 0) { if(std::fwrite(buf.data(), sizeof(char), bytes_read, out) < static_cast(bytes_read)) { _lastError = Utility::format(error_format.data(), file, "not enough bytes written."); + LOG_ERROR(_lastError); return false; } } if(bytes_read == -1) { _lastError = Utility::format(error_format.data(), file, "couldn't read bytes from archive."); + LOG_ERROR(_lastError); return false; } }