|
|
|
@ -82,22 +82,22 @@ void * threadFunction(void * data) {
|
|
|
|
|
if(Link == "") {
|
|
|
|
|
//Wenn gar keine Links vorhanden sind:
|
|
|
|
|
if(allLinks == "") {
|
|
|
|
|
myThreadData->returnValue = " => " + red + "KEINEN Hoster für die Folge " + myThreadData->pageManager->replace(folgenID, "E", " E") + " gefunden." + clearColor;
|
|
|
|
|
myThreadData->returnValue = " => " + red + "KEINEN Hoster für die Folge " + replace(folgenID, "E", " E") + " gefunden." + clearColor;
|
|
|
|
|
if(myThreadData->pageManager->writeToFile(myThreadData->settings->outputFilePaths, std::string("KEINEN Hoster für die Folge ")
|
|
|
|
|
+ myThreadData->pageManager->replace(folgenID, "E", " E") + std::string(" gefunden.")) != 0) {
|
|
|
|
|
+ replace(folgenID, "E", " E") + std::string(" gefunden.")) != 0) {
|
|
|
|
|
if(myThreadData->settings->debugMode)
|
|
|
|
|
std::cerr << " => Debug: In Thread: "<< myThreadData->id << ": writeToFile Function failed." << std::endl;
|
|
|
|
|
return myThreadData->setState(14);
|
|
|
|
|
}
|
|
|
|
|
//Wenn nur kein passender Link gefunden wurde:
|
|
|
|
|
} else {
|
|
|
|
|
myThreadData->returnValue = " => " + orange + "Keinen PASSENDEN Hoster für die Folge " + myThreadData->pageManager->replace(folgenID, "E", " E") + " gefunden." + clearColor + "\n"
|
|
|
|
|
myThreadData->returnValue = " => " + orange + "Keinen PASSENDEN Hoster für die Folge " + replace(folgenID, "E", " E") + " gefunden." + clearColor + "\n"
|
|
|
|
|
+ "Alle Links:" + "\n"
|
|
|
|
|
+ myThreadData->pageManager->replace(
|
|
|
|
|
myThreadData->pageManager->replace( myThreadData->pageManager->replace( allLinks, "data-lang-key=\"1\"", "language=\"GerDub\"" ),
|
|
|
|
|
+ replace(
|
|
|
|
|
replace( replace( allLinks, "data-lang-key=\"1\"", "language=\"GerDub\"" ),
|
|
|
|
|
"data-lang-key=\"2\"", "language=\"Eng\"" ), "data-lang-key=\"3\"", "language=\"GerSub\"");
|
|
|
|
|
if(myThreadData->pageManager->writeToFile(myThreadData->settings->outputFilePaths,
|
|
|
|
|
std::string("Keinen PASSENDEN Hoster für die Folge ") + myThreadData->pageManager->replace(folgenID, "E", " E")
|
|
|
|
|
std::string("Keinen PASSENDEN Hoster für die Folge ") + replace(folgenID, "E", " E")
|
|
|
|
|
+ std::string(" gefunden.")) != 0) {
|
|
|
|
|
if(myThreadData->settings->debugMode)
|
|
|
|
|
std::cerr << " => Debug: In Thread: "<< myThreadData->id << ": writeToFile Function failed." << std::endl;
|
|
|
|
@ -145,9 +145,9 @@ void * threadFunction(void * data) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//error at 3 time
|
|
|
|
|
myThreadData->returnValue = " => " + myThreadData->pageManager->replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + red + "https://s.to" + Link + clearColor;
|
|
|
|
|
myThreadData->returnValue = " => " + replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + red + "https://s.to" + Link + clearColor;
|
|
|
|
|
if(myThreadData->settings->outputFilePaths.size() != 0)
|
|
|
|
|
if(myThreadData->pageManager->writeToFile(myThreadData->settings->outputFilePaths, myThreadData->pageManager->replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + Link) != 0) {
|
|
|
|
|
if(myThreadData->pageManager->writeToFile(myThreadData->settings->outputFilePaths, replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + Link) != 0) {
|
|
|
|
|
if(myThreadData->settings->debugMode)
|
|
|
|
|
std::cerr << " => Debug: In Thread: "<< myThreadData->id << ": writeToFile Function failed." << std::endl;
|
|
|
|
|
return myThreadData->setState(19);
|
|
|
|
@ -498,7 +498,7 @@ int ProgramManager::defaultModus(Settings *settings)
|
|
|
|
|
|
|
|
|
|
//Überprüfe ob, wenn -C vorhanden, die Folge in dem Ordner bereits vorkommt.
|
|
|
|
|
if(settings->default_checkPath != "") {
|
|
|
|
|
if(dirFiles.find(pageManager.replace( pageManager.replace( settings->default_Searchmuster, "%Staffel%", ((staffel < 10) ? "0" : "") + std::to_string(staffel) ),
|
|
|
|
|
if(dirFiles.find(replace( replace( settings->default_Searchmuster, "%Staffel%", ((staffel < 10) ? "0" : "") + std::to_string(staffel) ),
|
|
|
|
|
"%Folge%", ((folge < 10) ? "0" : "") + std::to_string(folge) ) ) != std::string::npos) {
|
|
|
|
|
if(settings->debugMode)
|
|
|
|
|
std::cout << " > Skippe Folge: S" << staffel << "E" << folge << std::endl;
|
|
|
|
@ -605,7 +605,7 @@ int ProgramManager::directLinkModus(Settings *settings)
|
|
|
|
|
return 76;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::istringstream iStrStream( pageManager.replace( settings->name, ",", "\n" ) + "\n" );
|
|
|
|
|
std::istringstream iStrStream( replace( settings->name, ",", "\n" ) + "\n" );
|
|
|
|
|
std::string line;
|
|
|
|
|
|
|
|
|
|
//if(pageManager.login(accountManager.getNextAccount()) != 0)
|
|
|
|
@ -828,8 +828,8 @@ int ProgramManager::infoModus(Settings *settings)
|
|
|
|
|
} else
|
|
|
|
|
html.erase(pos, std::string::npos);
|
|
|
|
|
|
|
|
|
|
html = pageManager.replace(html, "\n", "");
|
|
|
|
|
html = pageManager.replace(html, "</tr>", "\n");
|
|
|
|
|
html = replace(html, "\n", "");
|
|
|
|
|
html = replace(html, "</tr>", "\n");
|
|
|
|
|
|
|
|
|
|
std::stringstream folgenListe(html);
|
|
|
|
|
std::string line;
|
|
|
|
@ -949,18 +949,18 @@ int ProgramManager::infoModus(Settings *settings)
|
|
|
|
|
std::cout << " => Error: Konnte '\">' nicht finden." << std::endl;
|
|
|
|
|
return 86;
|
|
|
|
|
}
|
|
|
|
|
std::string description = pageManager.replace( pageManager.replace( tmp_reply.html.substr(pos + 23, pos2 - pos - 23), "\n", "" ), "<br />", "" );
|
|
|
|
|
std::string description = replace( replace( tmp_reply.html.substr(pos + 23, pos2 - pos - 23), "\n", "" ), "<br />", "" );
|
|
|
|
|
|
|
|
|
|
//remove bug text:
|
|
|
|
|
description = pageManager.replace(description, "&quot;", "\""); //
|
|
|
|
|
description = replace(description, "&quot;", "\""); //
|
|
|
|
|
|
|
|
|
|
description = pageManager.replace(description, "&", "&"); //
|
|
|
|
|
description = pageManager.replace(description, "<", "<"); //
|
|
|
|
|
description = pageManager.replace(description, ">", ">"); //
|
|
|
|
|
description = replace(description, "&", "&"); //
|
|
|
|
|
description = replace(description, "<", "<"); //
|
|
|
|
|
description = replace(description, ">", ">"); //
|
|
|
|
|
|
|
|
|
|
description = pageManager.replace(description, "<br />", " "); //
|
|
|
|
|
description = pageManager.replace(description, """, "\""); //
|
|
|
|
|
description = pageManager.replace(description, "'", "'"); //
|
|
|
|
|
description = replace(description, "<br />", " "); //
|
|
|
|
|
description = replace(description, """, "\""); //
|
|
|
|
|
description = replace(description, "'", "'"); //
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Genres
|
|
|
|
@ -1042,8 +1042,8 @@ int ProgramManager::newsModus(Settings *settings)
|
|
|
|
|
} else
|
|
|
|
|
html.erase(pos + 12);
|
|
|
|
|
|
|
|
|
|
html = pageManager.replace(html, "\n", "");
|
|
|
|
|
html = pageManager.replace(html, "class=\"row\"", "\n");
|
|
|
|
|
html = replace(html, "\n", "");
|
|
|
|
|
html = replace(html, "class=\"row\"", "\n");
|
|
|
|
|
|
|
|
|
|
std::stringstream strstream(html + "\n");
|
|
|
|
|
html.clear();
|
|
|
|
@ -1068,7 +1068,7 @@ int ProgramManager::newsModus(Settings *settings)
|
|
|
|
|
std::cout << " => Error: Konnte Position von '' nicht finden" <<std::endl;
|
|
|
|
|
return 6;
|
|
|
|
|
}
|
|
|
|
|
std::string id = pageManager.replace( line.substr(pos + 7, pos2 - pos - 7), " ", "");
|
|
|
|
|
std::string id = replace( line.substr(pos + 7, pos2 - pos - 7), " ", "");
|
|
|
|
|
|
|
|
|
|
if( (pos = line.find("Right\">")) == std::string::npos) {
|
|
|
|
|
std::cout << " => Error: Konnte Position von 'Right\">' nicht finden" <<std::endl;
|
|
|
|
@ -1106,7 +1106,7 @@ int ProgramManager::updateModus(Settings *settings)
|
|
|
|
|
std::cout << " => Error: Das herunterladen der neusten Version ist fehlgeschlagen." << std::endl;
|
|
|
|
|
return 1;
|
|
|
|
|
} else {
|
|
|
|
|
html = pageManager.replace(html, "\r", "");
|
|
|
|
|
html = replace(html, "\r", "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1285,7 +1285,7 @@ int ProgramManager::searchModus_update(Settings *settings)
|
|
|
|
|
return 22;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string serienListe = pageManager.replace( pageManager.grep( reply.html, "data-alternative-title" ), "</li>", "\n" );
|
|
|
|
|
std::string serienListe = replace( pageManager.grep( reply.html, "data-alternative-title" ), "</li>", "\n" );
|
|
|
|
|
|
|
|
|
|
if(reply.html.find("\" href=\"") == std::string::npos ||
|
|
|
|
|
reply.html.find("<li><a data-alternative-title=\"") == std::string::npos ||
|
|
|
|
@ -1298,11 +1298,11 @@ int ProgramManager::searchModus_update(Settings *settings)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//...\n<li><a data-alternative-title="" href="/serie/stream/2012-das-jahr-null" title="2012 - Das Jahr Null Stream anschauen">2012 - Das Jahr Null</a>\n...
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "<li><a data-alternative-title=\"", "");
|
|
|
|
|
serienListe = replace(serienListe, "<li><a data-alternative-title=\"", "");
|
|
|
|
|
//...\n" href="/serie/stream/2012-das-jahr-null" title="2012 - Das Jahr Null Stream anschauen">2012 - Das Jahr Null</a>\n...
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "\" href=\"", "|");
|
|
|
|
|
serienListe = replace(serienListe, "\" href=\"", "|");
|
|
|
|
|
//...\n|/serie/stream/2012-das-jahr-null" title="2012 - Das Jahr Null Stream anschauen">2012 - Das Jahr Null</a>\n...
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "|/serie/stream/", "|/");
|
|
|
|
|
serienListe = replace(serienListe, "|/serie/stream/", "|/");
|
|
|
|
|
|
|
|
|
|
std::stringstream strstream(serienListe);
|
|
|
|
|
std::string line;
|
|
|
|
@ -1314,9 +1314,9 @@ int ProgramManager::searchModus_update(Settings *settings)
|
|
|
|
|
|
|
|
|
|
line.erase(line.find(" title="), line.find(">") - line.find(" title="));
|
|
|
|
|
//...\n|/serie/stream/2012-das-jahr-null"_weg_>2012 - Das Jahr Null</a>\n...
|
|
|
|
|
line = pageManager.replace(line, "\">", "|");
|
|
|
|
|
line = replace(line, "\">", "|");
|
|
|
|
|
//...\n|/serie/stream/2012-das-jahr-null|2012 - Das Jahr Null</a>\n...
|
|
|
|
|
line = pageManager.replace(line, "</a>", "");
|
|
|
|
|
line = replace(line, "</a>", "");
|
|
|
|
|
//...\n|/serie/stream/2012-das-jahr-null"_weg_>2012 - Das Jahr Null|\n...
|
|
|
|
|
|
|
|
|
|
serienListe += line + "\n";
|
|
|
|
@ -1325,15 +1325,15 @@ int ProgramManager::searchModus_update(Settings *settings)
|
|
|
|
|
serienListe.pop_back();
|
|
|
|
|
|
|
|
|
|
//Entferne Html Sonderzeichen
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "&quot;", "\""); //
|
|
|
|
|
serienListe = replace(serienListe, "&quot;", "\""); //
|
|
|
|
|
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "&", "&"); //
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "<", "<"); //
|
|
|
|
|
serienListe = pageManager.replace(serienListe, ">", ">"); //
|
|
|
|
|
serienListe = replace(serienListe, "&", "&"); //
|
|
|
|
|
serienListe = replace(serienListe, "<", "<"); //
|
|
|
|
|
serienListe = replace(serienListe, ">", ">"); //
|
|
|
|
|
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "<br />", " "); //
|
|
|
|
|
serienListe = pageManager.replace(serienListe, """, "\""); //
|
|
|
|
|
serienListe = pageManager.replace(serienListe, "'", "'"); //
|
|
|
|
|
serienListe = replace(serienListe, "<br />", " "); //
|
|
|
|
|
serienListe = replace(serienListe, """, "\""); //
|
|
|
|
|
serienListe = replace(serienListe, "'", "'"); //
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1484,18 +1484,18 @@ int ProgramManager::convertLink(std::string redirectLink, AccountManager * accou
|
|
|
|
|
|
|
|
|
|
if(redirectLink == "" && settings->modus == Modus::DEFAULT_MODUS) {
|
|
|
|
|
if(allLinks == "") {
|
|
|
|
|
std::cout << " => " << red << "KEINEN Hoster für die Folge " << pageManager.replace(folgenID, "E", " E") << " gefunden." << ((settings->colorless) ? "" : "\033[0m") << std::endl;
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, std::string("KEINEN Hoster für die Folge ") + pageManager.replace(folgenID, "E", " E") + std::string(" gefunden.")) != 0) {
|
|
|
|
|
std::cout << " => " << red << "KEINEN Hoster für die Folge " << replace(folgenID, "E", " E") << " gefunden." << ((settings->colorless) ? "" : "\033[0m") << std::endl;
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, std::string("KEINEN Hoster für die Folge ") + replace(folgenID, "E", " E") + std::string(" gefunden.")) != 0) {
|
|
|
|
|
if(settings->debugMode)
|
|
|
|
|
std::cerr << ">>> Debug In " << __FUNCTION__ << ": writeToFile f() failed." << std::endl;
|
|
|
|
|
return 130;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
std::cout << " => " << orange << "Keinen PASSENDEN Hoster für die Folge " << pageManager.replace(folgenID, "E", " E") << " gefunden." << ((settings->colorless) ? "" : "\033[0m") << std::endl
|
|
|
|
|
std::cout << " => " << orange << "Keinen PASSENDEN Hoster für die Folge " << replace(folgenID, "E", " E") << " gefunden." << ((settings->colorless) ? "" : "\033[0m") << std::endl
|
|
|
|
|
<< "Alle Links:" << std::endl
|
|
|
|
|
<< pageManager.replace( pageManager.replace( pageManager.replace( allLinks, "data-lang-key=\"1\"", "language=\"GerDub\"" ),
|
|
|
|
|
<< replace( replace( replace( allLinks, "data-lang-key=\"1\"", "language=\"GerDub\"" ),
|
|
|
|
|
"data-lang-key=\"2\"", "language=\"Eng\"" ), "data-lang-key=\"3\"", "language=\"GerSub\"") << std::endl;
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, std::string("Keinen PASSENDEN Hoster für die Folge ") + pageManager.replace(folgenID, "E", " E") + std::string(" gefunden.")) != 0) {
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, std::string("Keinen PASSENDEN Hoster für die Folge ") + replace(folgenID, "E", " E") + std::string(" gefunden.")) != 0) {
|
|
|
|
|
if(settings->debugMode)
|
|
|
|
|
std::cerr << ">>> Debug In " << __FUNCTION__ << ": writeToFile f() failed." << std::endl;
|
|
|
|
|
return 138;
|
|
|
|
@ -1526,10 +1526,10 @@ int ProgramManager::convertLink(std::string redirectLink, AccountManager * accou
|
|
|
|
|
|
|
|
|
|
//wenn nach der Umwandlung https://s.to/ vorhanden ist, die ist wenn der Link Ungültig war:
|
|
|
|
|
} else if (newUrl == "https://s.to/") {
|
|
|
|
|
std::cout << " => " << red << pageManager.replace(folgenID, "E", " E") << ( (folgenID == "") ? "" : ": " ) << "Ungültige Url: 'https://s.to" << redirectLink << "'"
|
|
|
|
|
std::cout << " => " << red << replace(folgenID, "E", " E") << ( (folgenID == "") ? "" : ": " ) << "Ungültige Url: 'https://s.to" << redirectLink << "'"
|
|
|
|
|
<< ((settings->colorless) ? "" : "\033[0m") << std::endl;
|
|
|
|
|
if(settings->outputFilePaths.size() != 0)
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, pageManager.replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + "Ungültige Url: https://s.to" + redirectLink) != 0) {
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + "Ungültige Url: https://s.to" + redirectLink) != 0) {
|
|
|
|
|
if(settings->debugMode)
|
|
|
|
|
std::cerr << ">>> Debug In " << __FUNCTION__ << ": writeToFile f() failed." << std::endl;
|
|
|
|
|
return 108;
|
|
|
|
@ -1549,9 +1549,9 @@ int ProgramManager::convertLink(std::string redirectLink, AccountManager * accou
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//nach 3temn Versuch gib error aus:
|
|
|
|
|
std::cout << " => " << pageManager.replace(folgenID, "E", " E") << ( (folgenID == "") ? "" : ": " ) << red << "https://s.to" << redirectLink << ((settings->colorless) ? "" : "\033[0m") << std::endl;
|
|
|
|
|
std::cout << " => " << replace(folgenID, "E", " E") << ( (folgenID == "") ? "" : ": " ) << red << "https://s.to" << redirectLink << ((settings->colorless) ? "" : "\033[0m") << std::endl;
|
|
|
|
|
if(settings->outputFilePaths.size() != 0) {
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, pageManager.replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + redirectLink) != 0) {
|
|
|
|
|
if(pageManager.writeToFile(settings->outputFilePaths, replace(folgenID, "E", " E") + ( (folgenID == "") ? "" : ": " ) + redirectLink) != 0) {
|
|
|
|
|
if(settings->debugMode)
|
|
|
|
|
std::cerr << ">>> Debug In " << __FUNCTION__ << ": writeToFile f() failed." << std::endl;
|
|
|
|
|
return 114;
|
|
|
|
|