public static void OpenQuestion() { Console.WriteLine("Do you want to open the video in your default browser? 'y' or 'n'"); string questionAnswer = Console.ReadLine().ToString(); if (questionAnswer.ToLower().Trim(' ') == "y") { Open(); } else if (questionAnswer.ToLower().Trim(' ') == "n") { YoutubeDownloaderClass.YoutubeDownloader(); } else { ProgramRestart.Restart(); } }
public static void FindingAdID() { try { // Removes Previous StringBuilder's characters. If its not removed it only plays 1 video no matter the ID. adDocIdStringBuilder.Remove(0, adDocIdStringBuilder.Length); // Asking for a file Console.WriteLine("Drop in the console the txt file with the debug info for the ad! Type 'Help' for more info!\nType 'Exit', 'Close' or 'Quit' to exit the program!"); writtenPath = Console.ReadLine().ToString(); // Checking for Ad Help if (writtenPath.ToLower() == "help") { YoutubeAdHelp.AdHelpInfo(); } // Checking for blank space input else if (writtenPath.Trim(' ') == "") { ProgramRestart.Restart(); } // Checking for "Exit" input else if (writtenPath.ToLower() == "quit" || writtenPath.ToLower() == "close" || writtenPath.ToLower() == "exit") { Environment.Exit(0); } // Part of checking if the file extention is incorrect ".exe" writtenPathExtentionCheckInt = writtenPath.LastIndexOf('.'); writtenPathExtentionCheckString = writtenPath.Substring(writtenPathExtentionCheckInt); //Checking for exe extention if (writtenPathExtentionCheckString.ToLower().Trim(' ', '.', '"') == "exe" || writtenPathExtentionCheckString.ToLower().Trim(' ', '.', '"') == ".exe") { throw new ArgumentOutOfRangeException(); } // Reading File string debugInfo = File.ReadAllText($@"{ writtenPath.Trim('"') }"); // Getting "ad_docid" int debugInfoIndexOf = debugInfo.IndexOf("ad_docid"); string adDocIdLine = debugInfo.Substring(debugInfoIndexOf, 24); // Seperator char[] seperator = new char[] { ' ', '"', ':' }; // String Split string[] adDocIdSplit = adDocIdLine.Split(seperator, StringSplitOptions.RemoveEmptyEntries); // StringBuilder Time for (int i = 1; i < adDocIdSplit.Length; i++) { adDocIdStringBuilder.Append(adDocIdSplit[i]); } Console.Clear(); // Printing the StringBuilder/ID Console.WriteLine($"ID: {adDocIdStringBuilder.ToString()}"); //Opening Youtube Video YoutubeOpener.OpenQuestion(); // Downloading video YoutubeDownloaderClass.YoutubeDownloader(); // Reseting Program after opening/downloading video ProgramRestart.Restart(); } // Catching exceptions catch (FileNotFoundException) { Console.Clear(); Console.WriteLine("The file is not found please try again!\nPress Any Key To Continue . . ."); Console.ReadKey(); } catch (NotSupportedException) { Console.Clear(); Console.WriteLine("The file is not found please try again!\nPress Any Key To Continue . . ."); Console.ReadKey(); } catch (ArgumentOutOfRangeException) { Console.Clear(); Console.WriteLine("The path is not valid or the file does not contain an AD ID or is a wrong extention.\nMake sure you drop the right file!\nPress Any Key To Continue . . ."); Console.ReadKey(); } catch (ArgumentException) { Console.Clear(); Console.WriteLine("You typed something wrong please try again!\nPress Any Key To Continue . . ."); Console.ReadKey(); } catch (Exception) { Console.Clear(); Console.WriteLine("The path is not valid or the file does not contain an AD ID or is a wrong extention.\nMake sure you drop the right file!\nPress Any Key To Continue . . ."); Console.ReadKey(); } finally { ProgramRestart.Restart(); } }