private void DownloadJogos()
        {
            Uteis.Log("", Log);
            Uteis.Log($"[{NomeBase}] Iniciando Download dos jogos...", Log);
            Uteis.Log("", Log);

            Uteis.ValidaDiretorio(UrlSaveDownloads + lista[0]);

            for (int i = 2; i < lista.Count; i++)
            {
                foreach (var jo in linkJogos)
                {
                    if (jo.Nome.Contains(lista[i]))
                    {
                        encontrou = true;
                        using (WebClient client = new WebClient())
                        {
                            client.DownloadFile(jo.Url, $"{UrlSaveDownloads}{lista[0]}/{lista[i]}.7z");

                            Uteis.Log($"{lista[i] + ".7z"}... ", Log);
                        }
                        break;
                    }
                }

                if (!encontrou)
                {
                    erros.Add(lista[i]);
                }
                encontrou = false;
            }
        }
        private void CriarRelatorioErrosTxt()
        {
            Uteis.Log("", Log);
            Uteis.Log($"[{NomeBase}] Gerando logs...", Log);

            Uteis.ValidaDiretorio($"{UrlSaveDownloads}log/");

            using (var file = new StreamWriter($"{UrlSaveDownloads}log/{lista[0]}-erros.txt"))
            {
                foreach (var err in erros)
                {
                    file.WriteLine(err);
                }
            }
        }
        private void CriarRelatorioFinalTxt()
        {
            Uteis.ValidaDiretorio($"{UrlSaveDownloads}log/");

            using (var file = new StreamWriter($"{UrlSaveDownloads}log/relatorio-{lista[0]}.txt"))
            {
                file.WriteLine($"          ###  Processo Finalizado [{NomeBase}]  ###");
                file.WriteLine($"[{NomeBase}] Diretorio com Downloads:........................... {UrlSaveDownloads + lista[0]}");
                file.WriteLine($"[{NomeBase}] Logs:.............................................. {UrlSaveDownloads + @"log\"}");
                file.WriteLine($"[{NomeBase}] Total de nomes de jogos para Download {lista[0]}:.. {lista.Count - 2}");
                file.WriteLine($"[{NomeBase}] Total de Links coletados do emulador {lista[0]}:... {linkJogos.Count}");
                file.WriteLine($"[{NomeBase}] Total de Erros:.................................... {erros.Count}");
                file.WriteLine($"                  ### FIM ###");
            }
        }
示例#4
0
        static void Main(string[] args)
        {
            DateTime       dataAtual = DateTime.Now;
            Queue <string> listas    = new Queue <string>();

            Uteis.ValidaDiretorio($@"{Urlbase}resultado\");

            List <string> listaUrls;

            using (var file = new StreamReader(UrlArquivo))
            {
                listaUrls = file.ReadToEnd().Split(';').ToList();
            }

            foreach (var u in listaUrls)
            {
                listas.Enqueue(u);
            }

            while (listas.Any())
            {
                Thread t1 = new Thread(ExecutaProcesso);
                Thread t2 = new Thread(ExecutaProcesso);

                var  str_1   = listas.Dequeue();
                bool exec_t2 = false;

                Urls ulrs_1 = new Urls()
                {
                    Nome             = str_1.Split('|')[0].Replace('\n', ' ').Replace('\r', ' ').Trim(),
                    UrlMelhoresjogos = str_1.Split('|')[1],
                    UrlDownload      = str_1.Split('|')[2]
                };

                Uteis.Log("### INICIANDO THREADS..\n", true);

                t1.Start(ulrs_1);

                if (listas.Any())
                {
                    var str_2 = listas.Dequeue();
                    exec_t2 = true;

                    Urls ulrs_2 = new Urls()
                    {
                        Nome             = str_2.Split('|')[0].Replace('\n', ' ').Replace('\r', ' ').Trim(),
                        UrlMelhoresjogos = str_2.Split('|')[1],
                        UrlDownload      = str_2.Split('|')[2]
                    };

                    t2.Start(ulrs_2);
                }

                if (exec_t2)
                {
                    t1.Join();
                    t2.Join();
                }
                else
                {
                    t1.Join();
                }

                Uteis.Log("\n### FINALIZANDO THREADS..\n", true);
            }

            Console.WriteLine($"Inicio: {dataAtual}, Fim: {DateTime.Now}");
            Console.WriteLine($"Total de tempo: {DateTime.Now - dataAtual}");

            Console.WriteLine("###### FIM ######");

            Console.ReadKey();
        }