mirror of
https://github.com/C9Glax/tranga.git
synced 2025-06-13 14:57:53 +02:00
Better downloadChapter selection
This commit is contained in:
@ -119,36 +119,7 @@ app.MapPost("/Tasks/CreateDownloadChaptersTask", (string connectorName, string i
|
||||
if (publication is null)
|
||||
return;
|
||||
|
||||
Chapter[] availableChapters = connector.GetChapters((Publication)publication, language??"en");;
|
||||
IEnumerable<Chapter> toDownload;
|
||||
|
||||
if (chapters.Contains("vol", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
if (chapters.Contains('-'))
|
||||
{
|
||||
string selectString = chapters.Split(' ').First(str => str.Contains('-'));
|
||||
int start = Convert.ToInt32(selectString.Split('-')[0]);
|
||||
int end = Convert.ToInt32(selectString.Split('-')[1]);
|
||||
toDownload = availableChapters.Where(chapter =>
|
||||
Convert.ToInt32(chapter.volumeNumber) >= start && Convert.ToInt32(chapter.volumeNumber) <= end);
|
||||
}
|
||||
else
|
||||
{
|
||||
string selectString = chapters.Split(' ').First(str => !str.Contains("vol", StringComparison.InvariantCultureIgnoreCase));
|
||||
toDownload = availableChapters.Where(chapter => chapter.volumeNumber.Equals(selectString));
|
||||
}
|
||||
}
|
||||
else if (chapters.Contains('-'))
|
||||
{
|
||||
int start = Convert.ToInt32(chapters.Split('-')[0]);
|
||||
int end = Convert.ToInt32(chapters.Split('-')[1]) + 1;
|
||||
toDownload = availableChapters[start..end];
|
||||
}
|
||||
else
|
||||
{
|
||||
toDownload = new[] { availableChapters[Convert.ToInt32(chapters)] };
|
||||
}
|
||||
|
||||
IEnumerable<Chapter> toDownload = connector.SearchChapters((Publication)publication, chapters, language ?? "en");
|
||||
foreach(Chapter chapter in toDownload)
|
||||
taskManager.AddTask(new DownloadChapterTask(TrangaTask.Task.DownloadChapter, connectorName,
|
||||
(Publication)publication, chapter, "en"));
|
||||
|
Reference in New Issue
Block a user