v4.3.2: add colorless mode to updater

This commit is contained in:
Markus 2021-01-12 18:42:29 +01:00
parent 099a4a4dac
commit 3d87e301cc
4 changed files with 20 additions and 9 deletions

View File

@ -182,7 +182,7 @@ int PageManager::downLoadToFile(std::string filePath, std::string url)
} }


//Info ausgabe //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 */ /* init the curl session */
curl_handle = curl_easy_init(); curl_handle = curl_easy_init();

View File

@ -1260,6 +1260,7 @@ int unterOption_update(Settings *settings, int argc, char **argv)
int c = 0; int c = 0;
const option long_opts[] = { const option long_opts[] = {
{"socks5-proxy", required_argument, nullptr, 'p'}, {"socks5-proxy", required_argument, nullptr, 'p'},
{"colorless", no_argument, nullptr, 'c'},


{"help", no_argument, nullptr, 'h'}, {"help", no_argument, nullptr, 'h'},
{"debug-mode", no_argument, nullptr, 'd'}, {"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) { switch(c) {
case 'p': case 'p':
if(!optarg || setS5ProxytoSettings(*settings, optarg) != 0) if(!optarg || setS5ProxytoSettings(*settings, optarg) != 0)
return 2; return 2;
break; break;
case 'c':
settings->colorless = true;
if(settings->debugMode)
std::cout << "Farblos: true" << std::endl;
break;
case 'h': case 'h':
unterOption_update_help(settings->programName); unterOption_update_help(settings->programName);
return -1; 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 << " -p [ip:port/ip/port], --socks5-proxy [ip:port/ip/port]" << std::endl
<< " Mit dieser Option kann man den Socks5Proxy ändern." << 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 << " 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 << " -d, --debug-mode" << std::endl
<< " Mit dieser Option kann man den Debug-Modus einschalten." << std::endl << " Mit dieser Option kann man den Debug-Modus einschalten." << std::endl
<< " Dabei werden vielmehr Infos ausgegeben." << std::endl << std::endl << " Dabei werden vielmehr Infos ausgegeben." << std::endl << std::endl

View File

@ -27,6 +27,8 @@


#define UpdaterCloudUrlWithPath "https://cloud.obermui.de/s/tXz7SWdaPJ7TacZ/download?path=%2F&files=" #define UpdaterCloudUrlWithPath "https://cloud.obermui.de/s/tXz7SWdaPJ7TacZ/download?path=%2F&files="
#define SecondUpdaterCloudUrlWithPath "https://snew4.obermui.de/download?path=%2F&files=" #define SecondUpdaterCloudUrlWithPath "https://snew4.obermui.de/download?path=%2F&files="
#define VERSION "4.3.2"





enum Modus { enum Modus {
@ -93,7 +95,7 @@ struct Settings {
proxy_ip = "127.0.0.1", proxy_ip = "127.0.0.1",
languages = "GerDub,GerSub,Eng,", languages = "GerDub,GerSub,Eng,",
genaueHoster = "", genaueHoster = "",
version = "4.3.0", version = VERSION,
defaultFileVersion="1.8", defaultFileVersion="1.8",
default_checkPath = "", default_checkPath = "",
default_Searchmuster = "S%Staffel%E%Folge%"; default_Searchmuster = "S%Staffel%E%Folge%";

View File

@ -1147,12 +1147,12 @@ int ProgramManager::updateModus(Settings *settings)
std::cout << " => INFO: Jetzige Version: '" << settings->version << "' - Neueste Version: '" << neusteVersion << "'" << std::endl; std::cout << " => INFO: Jetzige Version: '" << settings->version << "' - Neueste Version: '" << neusteVersion << "'" << std::endl;


//Print INFOs //Print INFOs
std::cout << " => Infos (zur Version): " << std::endl; std::cout << "\n => Infos (zur Version): " << std::endl;
std::string line; std::string line;
std::stringstream strstream(html+ "\n"); std::stringstream strstream(html+ "\n");
while (std::getline(strstream, line).good()) { while (std::getline(strstream, line).good()) {
if(line != "") 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: //Vergleiche Versionen:
@ -1175,7 +1175,7 @@ int ProgramManager::updateModus(Settings *settings)
std::string downloadedFilePath = settings->cacheDir + "NeusteVersion" + ((settings->pathSymbol == '\\') ? ".exe" : ""); std::string downloadedFilePath = settings->cacheDir + "NeusteVersion" + ((settings->pathSymbol == '\\') ? ".exe" : "");


//wenn dort schon eine datei existiert, lösche diese //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(fileExists(downloadedFilePath)) {
if(remove(downloadedFilePath.c_str()) != 0) { if(remove(downloadedFilePath.c_str()) != 0) {
perror((" => Error: Das löschen der Datei '" + downloadedFilePath + "' ist fehlgeschlagen").c_str()); perror((" => Error: Das löschen der Datei '" + downloadedFilePath + "' ist fehlgeschlagen").c_str());
@ -1208,7 +1208,7 @@ int ProgramManager::updateModus(Settings *settings)
#endif #endif


//Führe neue Version aus und überprüfe rückgabewert //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) { if( system((downloadedFilePath + " --version" ).c_str()) != 0) {
std::cerr << (" => Error: Ausführen der neuen Version ist fehlgeschlagen") << std::endl; 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" : ""); std::string oldVersionPah = settings->cacheDir + "oldVersion" + ((settings->pathSymbol == '\\') ? ".exe" : "");


//lösche falls vorhanden altes backup //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(fileExists(oldVersionPah)) {
if(remove( oldVersionPah.c_str() ) != 0) { if(remove( oldVersionPah.c_str() ) != 0) {
perror((" => Error: Das löschen der Datei '" + oldVersionPah + "' ist fehlgeschlagen.").c_str()); 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; << 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; return 0;
} }