mirror of
https://github.com/C9Glax/tranga.git
synced 2025-06-19 09:37:53 +02:00
Add NewtonsoftJson to Swagger
Add RetrieveChaptersJob.cs Add UpdateFilesDownloadedJob.cs Remove DownloadNewChaptersJob.cs and instead use DownloadAvailableChaptersJob.cs
This commit is contained in:
@ -91,10 +91,10 @@ public static class Tranga
|
||||
// If the job is already running, skip it
|
||||
if (RunningJobs.Values.Any(j => j.JobId == job.JobId)) continue;
|
||||
|
||||
if (job is DownloadNewChaptersJob dncj)
|
||||
if (job is DownloadAvailableChaptersJob dncj)
|
||||
{
|
||||
if (RunningJobs.Values.Any(j =>
|
||||
j is DownloadNewChaptersJob rdncj &&
|
||||
j is DownloadAvailableChaptersJob rdncj &&
|
||||
rdncj.Manga?.MangaConnector == dncj.Manga?.MangaConnector))
|
||||
{
|
||||
continue;
|
||||
@ -143,13 +143,15 @@ public static class Tranga
|
||||
IEnumerable<Job> ret = new List<Job>();
|
||||
if(jobsByType.ContainsKey(JobType.MoveFileOrFolderJob))
|
||||
ret = ret.Concat(jobsByType[JobType.MoveFileOrFolderJob]);
|
||||
if(jobsByType.ContainsKey(JobType.DownloadMangaCoverJob))
|
||||
ret = ret.Concat(jobsByType[JobType.DownloadMangaCoverJob]);
|
||||
if(jobsByType.ContainsKey(JobType.DownloadMangaCoverJob))
|
||||
ret = ret.Concat(jobsByType[JobType.DownloadMangaCoverJob]);
|
||||
if(jobsByType.ContainsKey(JobType.UpdateFilesDownloadedJob))
|
||||
ret = ret.Concat(jobsByType[JobType.UpdateFilesDownloadedJob]);
|
||||
|
||||
Dictionary<MangaConnector, List<Job>> metadataJobsByConnector = new();
|
||||
if (jobsByType.ContainsKey(JobType.DownloadNewChaptersJob))
|
||||
if (jobsByType.ContainsKey(JobType.DownloadAvailableChaptersJob))
|
||||
{
|
||||
foreach (DownloadNewChaptersJob job in jobsByType[JobType.DownloadNewChaptersJob])
|
||||
foreach (DownloadAvailableChaptersJob job in jobsByType[JobType.DownloadAvailableChaptersJob])
|
||||
{
|
||||
Manga manga = job.Manga ?? context.Manga.Find(job.MangaId)!;
|
||||
MangaConnector connector = manga.MangaConnector ?? context.MangaConnectors.Find(manga.MangaConnectorId)!;
|
||||
@ -167,6 +169,16 @@ public static class Tranga
|
||||
metadataJobsByConnector[connector].Add(job);
|
||||
}
|
||||
}
|
||||
if (jobsByType.ContainsKey(JobType.RetrieveChaptersJob))
|
||||
{
|
||||
foreach (RetrieveChaptersJob job in jobsByType[JobType.RetrieveChaptersJob])
|
||||
{
|
||||
Manga manga = job.Manga ?? context.Manga.Find(job.MangaId)!;
|
||||
MangaConnector connector = manga.MangaConnector ?? context.MangaConnectors.Find(manga.MangaConnectorId)!;
|
||||
if(!metadataJobsByConnector.TryAdd(connector, [job]))
|
||||
metadataJobsByConnector[connector].Add(job);
|
||||
}
|
||||
}
|
||||
foreach (List<Job> metadataJobs in metadataJobsByConnector.Values)
|
||||
ret = ret.Append(metadataJobs.MinBy(j => j.NextExecution))!;
|
||||
|
||||
|
Reference in New Issue
Block a user