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 ###"); } }
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(); }