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()); remove(cookieFilePath.c_str());
curl_global_cleanup(); curl_global_cleanup();

} }


void PageManager::setProxy(std::string ip, int port) 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„--version“\tVersion des Programmes" << std::endl
<< "\t„url“\t\tModus um eigene Redirect-Links umzuwandeln." << 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„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; return -1;
} }
@ -103,8 +104,9 @@ int unterOption_default(Settings *settings, int argc, char ** argv)


{"check-dir", required_argument, nullptr, 'C'}, {"check-dir", required_argument, nullptr, 'C'},
{"check-muster", required_argument, nullptr, 'm'}, {"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'}, {"help", no_argument, nullptr, 'h'},
{"colorless", no_argument, nullptr, 'c'}, {"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) { switch(c) {
case 'p': { case 'p': {
if(!optarg || std::string(optarg) == "") if(!optarg || std::string(optarg) == "")
@ -218,18 +220,31 @@ int unterOption_default(Settings *settings, int argc, char ** argv)
if(settings->debugMode) if(settings->debugMode)
std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl; std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl;
break; break;
case 't': case 'D':
if(!optarg) if(!optarg)
break; break;
settings->default_maxDirs = atoi(optarg); settings->default_maxDirs = atoi(optarg);
if(std::to_string(settings->default_maxDirs) != std::string(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; return 18;
} }
if(settings->debugMode) if(settings->debugMode)
std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl; std::cout << "SearchMuster: " << settings->default_Searchmuster << std::endl;


break; 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': case 'C':
if(!optarg) if(!optarg)
break; 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 -> 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 -> %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 -> %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 << "\t -> Maximale Anzahl der Ordner, die auf Dateien untersucht werden. Default: 20" << std::endl
<< std::endl << std::endl
<< " > Durchlaufoptionen:" << std::endl << " > Durchlaufoptionen:" << std::endl
@ -329,6 +344,12 @@ void unterOption_default_help()
<< "\t-S [Staffel], --stop-season [Staffel]" << std::endl << "\t-S [Staffel], --stop-season [Staffel]" << std::endl
<< "\t -> Das Programm stopt mit dieser Staffel. Beachte Verwendung mit -E." << 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 << "\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 << std::endl
<< " > Help-Optionen" << std::endl << " > Help-Optionen" << std::endl
<< "\t-h, --help" << std::endl; << "\t-h, --help" << std::endl;

View File

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


}; };