Smakolykytl2Epub/Program.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2023-08-13 07:44:06 -04:00
using EpubSharp;
2023-08-13 06:59:16 -04:00
using Smakolykytl2Epub.Utils;
var client = new HttpClient();
var projectTitle = await Ranobe.GetById(int.Parse(args[0]));
if (projectTitle != null)
{
// Print
2023-08-13 07:44:06 -04:00
var project = projectTitle.project;
2023-08-13 06:59:16 -04:00
Console.WriteLine(project.title);
Console.WriteLine(project.alternatives);
Console.WriteLine(project.description);
// Basic Info
2023-08-13 07:44:06 -04:00
var writer = new EpubWriter();
2023-08-13 06:59:16 -04:00
writer.AddAuthor(project.author);
writer.SetTitle(project.title);
2023-08-13 07:44:06 -04:00
2023-08-13 06:59:16 -04:00
// Add Cover Image
using (var response = await client.GetAsync(project.image.url))
{
2023-08-13 07:44:06 -04:00
var imageBytes = await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
2023-08-13 06:59:16 -04:00
writer.SetCover(imageBytes, ImageFormat.Png);
}
2023-08-13 07:44:06 -04:00
2023-08-13 06:59:16 -04:00
var books = (await Ranobe.GetChaptersById(int.Parse(args[0])))?.books[int.Parse(args[1]) - 1];
if (books != null)
foreach (var item in books.chapters)
{
Console.WriteLine(item.title);
2023-08-13 07:44:06 -04:00
var content = (await Ranobe.GetChapterById(item.id))!.chapter.content;
2023-08-13 06:59:16 -04:00
writer.AddChapter(item.title, HtmlConverter.ConvertJsonToHtml(content));
Thread.Sleep(1000);
}
// Done
writer.Write("new.epub");
}