Exemplo n.º 1
0
        //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"));
        }