From 3d87e301cc7e5d8bb23b0f285a194caa2ee95f1f Mon Sep 17 00:00:00 2001 From: Markus Date: Tue, 12 Jan 2021 18:42:29 +0100 Subject: [PATCH] v4.3.2: add colorless mode to updater --- src/pageManager.cpp | 2 +- src/parameterManager.cpp | 10 +++++++++- src/parameterManager.h | 4 +++- src/programManager.cpp | 13 +++++++------ 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/pageManager.cpp b/src/pageManager.cpp index 4ff63f1..752d865 100644 --- a/src/pageManager.cpp +++ b/src/pageManager.cpp @@ -182,7 +182,7 @@ int PageManager::downLoadToFile(std::string filePath, std::string url) } //Info ausgabe - std::cout << ( "\33[2K\rDownloade: '" + url + "'..." + ((debugMode) ? "\n" : "" )) << std::flush; + std::cout << ( "\33[2K\rDownloade: '" + url + "'..." + ((debugMode) ? "\n" : "" )) << "\33[2K\r" << std::flush; /* init the curl session */ curl_handle = curl_easy_init(); diff --git a/src/parameterManager.cpp b/src/parameterManager.cpp index f691478..f91d94a 100644 --- a/src/parameterManager.cpp +++ b/src/parameterManager.cpp @@ -1260,6 +1260,7 @@ int unterOption_update(Settings *settings, int argc, char **argv) int c = 0; const option long_opts[] = { {"socks5-proxy", required_argument, nullptr, 'p'}, + {"colorless", no_argument, nullptr, 'c'}, {"help", no_argument, nullptr, 'h'}, {"debug-mode", no_argument, nullptr, 'd'}, @@ -1268,12 +1269,17 @@ int unterOption_update(Settings *settings, int argc, char **argv) }; - while( ( c = getopt_long (argc, argv, "p:hd", long_opts, nullptr) ) != -1 ) { + while( ( c = getopt_long (argc, argv, "p:chd", long_opts, nullptr) ) != -1 ) { switch(c) { case 'p': if(!optarg || setS5ProxytoSettings(*settings, optarg) != 0) return 2; break; + case 'c': + settings->colorless = true; + if(settings->debugMode) + std::cout << "Farblos: true" << std::endl; + break; case 'h': unterOption_update_help(settings->programName); return -1; @@ -1306,6 +1312,8 @@ void unterOption_update_help(std::string programName) << " -p [ip:port/ip/port], --socks5-proxy [ip:port/ip/port]" << std::endl << " Mit dieser Option kann man den Socks5Proxy ändern." << std::endl << " Standart: 'Port 0' - Port 0 um Proxy zu deaktivieren." << std::endl << std::endl + << " -c, --colorless" << std::endl + << " Mit dieser Option kann man die farbige Ausgabe ausstellen." << std::endl << std::endl << " -d, --debug-mode" << std::endl << " Mit dieser Option kann man den Debug-Modus einschalten." << std::endl << " Dabei werden vielmehr Infos ausgegeben." << std::endl << std::endl diff --git a/src/parameterManager.h b/src/parameterManager.h index 969f762..03f76ef 100644 --- a/src/parameterManager.h +++ b/src/parameterManager.h @@ -27,6 +27,8 @@ #define UpdaterCloudUrlWithPath "https://cloud.obermui.de/s/tXz7SWdaPJ7TacZ/download?path=%2F&files=" #define SecondUpdaterCloudUrlWithPath "https://snew4.obermui.de/download?path=%2F&files=" +#define VERSION "4.3.2" + enum Modus { @@ -93,7 +95,7 @@ struct Settings { proxy_ip = "127.0.0.1", languages = "GerDub,GerSub,Eng,", genaueHoster = "", - version = "4.3.0", + version = VERSION, defaultFileVersion="1.8", default_checkPath = "", default_Searchmuster = "S%Staffel%E%Folge%"; diff --git a/src/programManager.cpp b/src/programManager.cpp index fff0193..c78b9b5 100644 --- a/src/programManager.cpp +++ b/src/programManager.cpp @@ -1147,12 +1147,12 @@ int ProgramManager::updateModus(Settings *settings) std::cout << " => INFO: Jetzige Version: '" << settings->version << "' - Neueste Version: '" << neusteVersion << "'" << std::endl; //Print INFOs - std::cout << " => Infos (zur Version): " << std::endl; + std::cout << "\n => Infos (zur Version): " << std::endl; std::string line; std::stringstream strstream(html+ "\n"); while (std::getline(strstream, line).good()) { if(line != "") - std::cout << "\033[92m > " << line << "\033[0m" << std::endl; + std::cout << ((settings->colorless) ? ("") : "\033[92m > ") << line << ((settings->colorless) ? ("") : "\033[0m") << std::endl; } //Vergleiche Versionen: @@ -1175,7 +1175,7 @@ int ProgramManager::updateModus(Settings *settings) std::string downloadedFilePath = settings->cacheDir + "NeusteVersion" + ((settings->pathSymbol == '\\') ? ".exe" : ""); //wenn dort schon eine datei existiert, lösche diese - std::cout << " => INFO: Lösche Download-Datei, fallst bereits eine vorhanden ist..." << std::endl; + std::cout << "\n => INFO: Bereinige Downloadpfad, falls alte Dateien vorhanden sind..." << std::endl; if(fileExists(downloadedFilePath)) { if(remove(downloadedFilePath.c_str()) != 0) { perror((" => Error: Das löschen der Datei '" + downloadedFilePath + "' ist fehlgeschlagen").c_str()); @@ -1208,7 +1208,7 @@ int ProgramManager::updateModus(Settings *settings) #endif //Führe neue Version aus und überprüfe rückgabewert - std::cout << " => INFO: Überprüfe die Funktionalität der neuen Version..." << std::endl; + std::cout << " => INFO: Überprüfe die Funktionalität der neuen Version...\n" << std::endl; if( system((downloadedFilePath + " --version" ).c_str()) != 0) { std::cerr << (" => Error: Ausführen der neuen Version ist fehlgeschlagen") << std::endl; @@ -1226,7 +1226,7 @@ int ProgramManager::updateModus(Settings *settings) std::string oldVersionPah = settings->cacheDir + "oldVersion" + ((settings->pathSymbol == '\\') ? ".exe" : ""); //lösche falls vorhanden altes backup - std::cout << " => INFO: Lösche alte Nofall Version falls vorhanden..." << std::endl; + std::cout << "\n => INFO: Lösche alte Nofall Version falls vorhanden..." << std::endl; if(fileExists(oldVersionPah)) { if(remove( oldVersionPah.c_str() ) != 0) { perror((" => Error: Das löschen der Datei '" + oldVersionPah + "' ist fehlgeschlagen.").c_str()); @@ -1255,7 +1255,8 @@ int ProgramManager::updateModus(Settings *settings) << downloadedFilePath << "' -> '" << exePath << "'" << std::endl; } - std::cout << "\n => Update Erfolgreich ausgeführt: '" << settings->version << "' -> '" << neusteVersion << "'" << std::endl; + std::cout << ((settings->colorless) ? ("") : "\033[92m") << "\n => Update Erfolgreich ausgeführt: '" << settings->version << + "' -> '" << neusteVersion << "'" << ((settings->colorless) ? ("") : "\033[0m") << std::endl; return 0; }