public static int GetNumberOfC(string print, string color) { Console.Write(print); bool repeatC = true; int res = 0; do { try { res = Convert.ToInt32(CColor.ReadLineC(color)); Console.ResetColor(); repeatC = false; } catch { Console.Write("--- Non hai inserito un numero valido, Riprova: "); } } while (repeatC); return(res); }
//public static System.Deployment.Application.ApplicationDeployment CurrentDeployment { get; } static void Main(string[] args) { /*Declaration FASE */ string pLink; string link; string fullNameFile; string baseNameFile; string replace = ""; string path = System.Reflection.Assembly.GetExecutingAssembly().Location; path = path.Replace(path.Split('\\')[path.Split('\\').Length - 1], ""); int riprendiDalla = 0, nEpisodi = 0; NumberEpisode objNEs; Serie serie; /*Preparation FASE*/ Console.WriteLine($"--- <-_ Benvenuti su AnimeWorldDownloader v{version} by Arutosio - Testo a cura di Jamlegend _-> ---"); Console.Write(" ~ "); CColor.WriteC("Per informazione consultare la pagina GitHub della repository", "cyan"); Console.WriteLine(" ~ "); CColor.WriteLineC("Nota: si consiglia fortemente di scaricare l'eseguibile dal sito dello sviluppatore al seguente link", "darkyellow"); CColor.WriteLineC(" https://github.com/Arutosio/AnimeWorldDownloader/releases", "cyan"); Console.Write("Path: "); CColor.WriteC(path, "yellow"); do { Console.WriteLine(); LineFase("Inizio fase PREPARATORIA"); do { Console.WriteLine("--- Inserisci l'URL diretto dell'episodio da Scaricare: "); pLink = CColor.ReadLineC("cyan"); } while (!IsValidUri(pLink)); fullNameFile = FixStringChar(pLink.Split('/')[pLink.Split('/').Length - 1]); baseNameFile = fullNameFile.Split('_')[0]; try { if (Convert.ToInt32(fullNameFile.Split('_')[2]) != -1) { replace = fullNameFile.Split('_')[2]; //numOfZeroOnNumberEp = (fullNameFile.Split('_')[2].Length); Console.Write("Numero dell'episodio riconosciuto con sucesso: "); CColor.WriteLineC(replace, "yellow"); } } catch { CColor.WriteLineC("Numero dell'episodio non riconosciuto, inserire manualmente.", "red"); Console.Write("--- Inserisci il Numero dell'episodio tratto dall'URL (ES:00, 04, 11): "); replace = CColor.ReadLineC("Yellow"); } nEpisodi = GetNumberOfC("--- Inserisci il numero di episodi: ", "yellow"); if (IsRipresa()) { riprendiDalla = GetNumberOfC("--- Inserisci il numero dell'episodio da cui vuoi riprendere a scaricare: ", "yellow"); objNEs = new NumberEpisode(riprendiDalla, replace); } else { objNEs = new NumberEpisode(replace); } serie = new Serie(baseNameFile, nEpisodi, fullNameFile, objNEs); /*Procces FASE*/ LineFase("Inizio fase SCARICAMENTO!"); CreateFolder(path, baseNameFile); while (serie.nEpisodes >= serie.numberEpisode.GetNumber()) { pL = new ProgressLine(30); link = pLink.Replace(replace, serie.numberEpisode.ToString()); Console.Write(" GET> "); CColor.WriteLineC(link, "cyan"); if (FileDownloader.IsURLExist(link)) { string filePath = path + serie.nameSerie + @"\" + serie.GetNameFile(); FileDownloader.DoAGetRequest(link, filePath); pL.SincePrintProgress(); } serie.numberEpisode.IncrementNumber(); } Console.Write("\r\n======> "); CColor.WriteC("PROCESSO CONCLUSO!", "green"); Console.WriteLine(" <======"); Console.Write("Premi "); CColor.WriteC("Y", "green"); Console.Write(" se vuoi scaricare un'altro anime, altrimenti premi un altro tasto per "); CColor.WriteC("USCIRE", "red"); Console.Write(": "); } while (Console.ReadKey().KeyChar.ToString().ToLower().Equals("y")); }