Compare commits
3 Commits
3ca96cea78
...
d659a26987
Author | SHA1 | Date | |
---|---|---|---|
d659a26987 | |||
8c6c95d07d | |||
c4949936cd |
@ -105,7 +105,7 @@ public static class Tranga_Cli
|
||||
int tIndex = 0;
|
||||
Console.WriteLine("Tasks:");
|
||||
foreach(TrangaTask trangaTask in tasks)
|
||||
Console.WriteLine($"{tIndex++}: {trangaTask.task} - {trangaTask.reoccurrence} - {trangaTask.publication?.sortName} - {trangaTask.connectorName}");
|
||||
Console.WriteLine($"{tIndex++}: {trangaTask.task} - {trangaTask.reoccurrence} - {trangaTask.publication?.sortName} - {trangaTask.connectorName} - {trangaTask.lastExecuted}");
|
||||
return tasks.Length;
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ public static class Tranga_Cli
|
||||
int length = PrintTasks(taskManager);
|
||||
|
||||
TrangaTask[] tasks = taskManager.GetAllTasks();
|
||||
Console.WriteLine($"Select Task (0-{length - 1}):");
|
||||
Console.WriteLine($"Select Task (0-{length}):");
|
||||
|
||||
string? selectedTask = Console.ReadLine();
|
||||
while(selectedTask is null || selectedTask.Length < 1)
|
||||
|
@ -20,6 +20,15 @@ public abstract class Connector
|
||||
|
||||
protected void DownloadChapter(string[] imageUrls, string saveArchiveFilePath)
|
||||
{
|
||||
string[] splitPath = saveArchiveFilePath.Split(Path.DirectorySeparatorChar);
|
||||
string directoryPath = Path.Combine(splitPath.Take(splitPath.Length - 1).ToArray());
|
||||
if (!Directory.Exists(directoryPath))
|
||||
Directory.CreateDirectory(directoryPath);
|
||||
|
||||
string fullPath = $"{saveArchiveFilePath}.cbz";
|
||||
if (File.Exists(fullPath))
|
||||
return;
|
||||
|
||||
string tempFolder = Path.GetTempFileName();
|
||||
File.Delete(tempFolder);
|
||||
Directory.CreateDirectory(tempFolder);
|
||||
@ -31,14 +40,7 @@ public abstract class Connector
|
||||
string extension = split[split.Length - 1];
|
||||
DownloadImage(imageUrl, Path.Join(tempFolder, $"{chapter++}.{extension}"));
|
||||
}
|
||||
|
||||
string[] splitPath = saveArchiveFilePath.Split(Path.DirectorySeparatorChar);
|
||||
string directoryPath = Path.Combine(splitPath.Take(splitPath.Length - 1).ToArray());
|
||||
if (!Directory.Exists(directoryPath))
|
||||
Directory.CreateDirectory(directoryPath);
|
||||
|
||||
string fullPath = $"{saveArchiveFilePath}.cbz";
|
||||
File.Delete(fullPath);
|
||||
|
||||
ZipFile.CreateFromDirectory(tempFolder, fullPath);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Globalization;
|
||||
using System.Net;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
|
||||
@ -21,7 +22,11 @@ public class MangaDex : Connector
|
||||
HashSet<Publication> publications = new();
|
||||
while (offset < total)
|
||||
{
|
||||
DownloadClient.RequestResult requestResult = _downloadClient.MakeRequest($"https://api.mangadex.org/manga?limit={limit}&title={publicationTitle}&offset={offset}");
|
||||
DownloadClient.RequestResult requestResult =
|
||||
_downloadClient.MakeRequest(
|
||||
$"https://api.mangadex.org/manga?limit={limit}&title={publicationTitle}&offset={offset}");
|
||||
if (requestResult.statusCode != HttpStatusCode.OK)
|
||||
break;
|
||||
JsonObject? result = JsonSerializer.Deserialize<JsonObject>(requestResult.result);
|
||||
offset += limit;
|
||||
if (result is null)
|
||||
@ -121,7 +126,10 @@ public class MangaDex : Connector
|
||||
while (offset < total)
|
||||
{
|
||||
DownloadClient.RequestResult requestResult =
|
||||
_downloadClient.MakeRequest($"https://api.mangadex.org/manga/{id}/feed?limit={limit}&offset={offset}&translatedLanguage%5B%5D={language}");
|
||||
_downloadClient.MakeRequest(
|
||||
$"https://api.mangadex.org/manga/{id}/feed?limit={limit}&offset={offset}&translatedLanguage%5B%5D={language}");
|
||||
if (requestResult.statusCode != HttpStatusCode.OK)
|
||||
break;
|
||||
JsonObject? result = JsonSerializer.Deserialize<JsonObject>(requestResult.result);
|
||||
|
||||
offset += limit;
|
||||
@ -163,6 +171,8 @@ public class MangaDex : Connector
|
||||
{
|
||||
DownloadClient.RequestResult requestResult =
|
||||
_downloadClient.MakeRequest($"https://api.mangadex.org/at-home/server/{chapter.url}?forcePort443=false'");
|
||||
if (requestResult.statusCode != HttpStatusCode.OK)
|
||||
return;
|
||||
JsonObject? result = JsonSerializer.Deserialize<JsonObject>(requestResult.result);
|
||||
if (result is null)
|
||||
return;
|
||||
@ -188,12 +198,16 @@ public class MangaDex : Connector
|
||||
public override void DownloadCover(Publication publication)
|
||||
{
|
||||
string publicationPath = Path.Join(downloadLocation, publication.folderName);
|
||||
DirectoryInfo dirInfo = new DirectoryInfo(publicationPath);
|
||||
Directory.CreateDirectory(publicationPath);
|
||||
DirectoryInfo dirInfo = new (publicationPath);
|
||||
foreach(FileInfo fileInfo in dirInfo.EnumerateFiles())
|
||||
if (fileInfo.Name.Contains("cover."))
|
||||
return;
|
||||
|
||||
DownloadClient.RequestResult requestResult = _downloadClient.MakeRequest($"https://api.mangadex.org/cover/{publication.posterUrl}");
|
||||
|
||||
DownloadClient.RequestResult requestResult =
|
||||
_downloadClient.MakeRequest($"https://api.mangadex.org/cover/{publication.posterUrl}");
|
||||
if (requestResult.statusCode != HttpStatusCode.OK)
|
||||
return;
|
||||
JsonObject? result = JsonSerializer.Deserialize<JsonObject>(requestResult.result);
|
||||
if (result is null)
|
||||
return;
|
||||
|
@ -44,6 +44,8 @@ public class TaskManager
|
||||
if (!_allTasks.Any(trangaTask => trangaTask.task != task && trangaTask.connectorName != connector.name &&
|
||||
trangaTask.publication?.downloadUrl != publication?.downloadUrl))
|
||||
{
|
||||
if(task != TrangaTask.Task.UpdatePublications)
|
||||
_chapterCollection.Add((Publication)publication!, new List<Chapter>());
|
||||
_allTasks.Add(new TrangaTask(connector.name, task, publication, reoccurrence, language));
|
||||
ExportTasks(Directory.GetCurrentDirectory());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user