setup getops

This commit is contained in:
Markus 2019-08-16 14:34:44 +02:00
parent 50a7e12f80
commit ef88786e57
3 changed files with 28 additions and 8 deletions

View File

@ -10,7 +10,6 @@ PageManager::~PageManager()
{
remove(cookieFilePath.c_str());
curl_global_cleanup();

}

void PageManager::setProxy(std::string ip, int port)

View File

@ -79,7 +79,8 @@ int unterOption_help()
<< "\t„--version“\tVersion des Programmes" << std::endl
<< "\t„url“\t\tModus um eigene Redirect-Links umzuwandeln." << std::endl
<< "\t„default“\tModus um Links von Serien zu bekommen." << std::endl
<< "\t„search“\tModus um Serien zu suchen." << std::endl;
<< "\t„search“\tModus um Serien zu suchen." << std::endl
<< "\t„info“\tModus um Infos einer Serien zu bekommen." << std::endl;

return -1;
}
@ -103,8 +104,9 @@ int unterOption_default(Settings *settings, int argc, char ** argv)

{"check-dir", required_argument, nullptr, 'C'},
{"check-muster", required_argument, nullptr, 'm'},
{"check-max-dirs", required_argument, nullptr, 't'},
{"check-max-dirs", required_argument, nullptr, 'D'},

{"threads", required_argument, nullptr, 't'},

{"help", no_argument, nullptr, 'h'},
{"colorless", no_argument, nullptr, 'c'},
@ -114,7 +116,7 @@ int unterOption_default(Settings *settings, int argc, char ** argv)

};

while( ( c = getopt_long (argc, argv, "p:g:l:o:e:E:s:S:C:m:t:hcd", long_opts, nullptr) ) != -1 ) {
while( ( c = getopt_long (argc, argv, "p:g:l:o:e:E:s:S:C:m:D:t:hcd", long_opts, nullptr) ) != -1 ) {
switch(c) {
case 'p': {
if(!optarg || std::string(optarg) == "")
@ -218,18 +220,31 @@ int unterOption_default(Settings *settings, int argc, char ** argv)
if(settings->debugMode)
std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl;
break;
case 't':
case 'D':
if(!optarg)
break;
settings->default_maxDirs = atoi(optarg);
if(std::to_string(settings->default_maxDirs) != std::string(optarg) ) {
std::cout << "[-t]: Invalid Count: " << optarg << std::endl;
std::cout << "[-D]: Invalid Count: " << optarg << std::endl;
return 18;
}
if(settings->debugMode)
std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl;

break;
case 't':
if(!optarg)
break;
settings->maxThreads = static_cast<unsigned>(atoi(optarg));
if(std::to_string(settings->maxThreads) != std::string(optarg) ) {
std::cout << "[-t]: Ungültige Zahl: " << optarg << std::endl;
return 18;
}
if(settings->debugMode)
std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl;

break;

case 'C':
if(!optarg)
break;
@ -311,7 +326,7 @@ void unterOption_default_help()
<< "\t -> Muster mit dem Überprüft wird, ob diese Folge in einem Ordner ist. Default: S%Staffel%E%Folge%" << std::endl
<< "\t -> %Staffel% ist eine Variable für die Staffel mit 0 + Staffel, wenn Staffel < 10. " << std::endl
<< "\t -> %Folge% ist eine Variable für die Folge mit 0 + Folge, wenn Folge < 10. " << std::endl
<< "\t-t, --check-max-dirs" << std::endl
<< "\t-D, --check-max-dirs" << std::endl
<< "\t -> Maximale Anzahl der Ordner, die auf Dateien untersucht werden. Default: 20" << std::endl
<< std::endl
<< " > Durchlaufoptionen:" << std::endl
@ -329,6 +344,12 @@ void unterOption_default_help()
<< "\t-S [Staffel], --stop-season [Staffel]" << std::endl
<< "\t -> Das Programm stopt mit dieser Staffel. Beachte Verwendung mit -E." << std::endl
<< "\t Zum deaktivieren Staffel <= 0 verwenden. Default: 0" << std::endl
<< " > Multi-Thrading Optionen:" << std::endl
<< "\t-t [maxThreads], --threads [maxThreads]" << std::endl
<< "\t -> Das Programm startet für jede Folge einen eigenen Thread," << std::endl
<< "\t -> bis die maximale Anzahl ereicht wurde. Dann wartet es auf" << std::endl
<< "\t -> das enden aller Threads und fängt dann wieder von vorne an." << std::endl
<< "\t -> Zum deaktivieren von Multithreading '0' verwenden. Default: 0" << std::endl
<< std::endl
<< " > Help-Optionen" << std::endl
<< "\t-h, --help" << std::endl;

View File

@ -53,7 +53,7 @@ struct Settings {
proxy_port = 9050,
default_maxDirs = 20;
char pathSymbol = '/';
unsigned maxThreads = 5;
unsigned maxThreads = 0;

};