Re: [Requete] - Téléchargement de masse dans un Agent
Voici le programme et ce qu'il se passe :
Console.WriteLine("Check");
MangaScanEntities entity = new MangaScanEntities();
Tools tools = new Tools();
string mainPath = "C:";
if(Directory.Exists(string.Format("{0}\\{1}", mainPath, "MangaScan")) == false)
{
string temp = string.Empty;
Directory.CreateDirectory(temp = string.Format("{0}\\{1}", mainPath, "MangaScan"));
Console.WriteLine("Create - " + temp);
}
var listOfMangas = entity.Configuration.ToList();
foreach (var manga in listOfMangas)
{
Console.WriteLine("Current - " + manga.Title + " - " + manga.CurrentChapter);
string path = string.Empty;
string file = "00.jpg";
bool chapterAndPage = false;
string url = string.Empty;
string url2 = string.Empty;
string urlTemp = string.Empty;
int page = 0;
if (Directory.Exists(path = string.Format("{0}\\{1}\\{2}\\{3}", mainPath, "MangaScan", manga.Title.ToString(), manga.CurrentChapter.ToString())) == false)
{
Directory.CreateDirectory(path = string.Format("{0}\\{1}\\{2}\\{3}", mainPath, "MangaScan", manga.Title.ToString(), manga.CurrentChapter.ToString()));
Console.WriteLine("Create - " + path);
}
while ((chapterAndPage = tools.UrlIsValid(url = string.Format(manga.Url.ToString(), manga.Title.ToString(), manga.CurrentChapter.ToString(), file))) || tools.UrlIsValid(url2 = string.Format(manga.Url.ToString(), manga.Title.ToString(), manga.CurrentChapter.ToString(), file = string.Format("{0} - {1}", manga.CurrentChapter.ToString(), file))))
{
if(chapterAndPage == true) urlTemp = url;
else urlTemp = url2;
Console.WriteLine("Download - " + urlTemp);
tools.DownloaFileFromUri(new Uri(urlTemp), string.Format("{0}\\{1}", path, file));
Thread.Sleep(5000);
string pageNumber = string.Empty;
if (chapterAndPage == true) pageNumber = file.Split('.')[0].ToString();
else
{
pageNumber = (file.Split('.')[0].ToString());
pageNumber = pageNumber.Substring(pageNumber.Length - 2);
}
Console.WriteLine("Current Page Number : " + pageNumber);
if (int.TryParse(pageNumber, out page))
{
page += 1;
if (page < 10)
{
file = string.Format("0{0}.jpg", page);
}
else
{
file = string.Format("{0}.jpg", page);
}
Console.WriteLine("Next File : " + file);
}
}
if (page > 1)
{
manga.CurrentChapter++;
Console.WriteLine("Current - " + manga.Title + " - " + manga.CurrentChapter);
}
entity.SaveChanges();
}
Console.WriteLine("Check Finish");
Console.ReadLine();
Voici le resultat :
Loading Image
Désolé le code est un peu bourrin mais je souhaite faire du fonctionnel avant de faire de l'optimisé.