Added import and export for Jobs

Renamed tasksFilePath -> jobsFilePath and changed to jobs.json
This commit is contained in:
2023-09-01 23:37:50 +02:00
parent eaab7c5235
commit 28e05e549d
6 changed files with 151 additions and 31 deletions

View File

@ -1,4 +1,5 @@
using Tranga.MangaConnectors;
using Newtonsoft.Json;
using Tranga.MangaConnectors;
namespace Tranga.Jobs;
@ -7,9 +8,12 @@ public class JobBoss : GlobalBase
public HashSet<Job> jobs { get; init; }
private Dictionary<MangaConnector, Queue<Job>> mangaConnectorJobQueue { get; init; }
public JobBoss(GlobalBase clone) : base(clone)
public JobBoss(GlobalBase clone, HashSet<MangaConnector> connectors) : base(clone)
{
this.jobs = new();
if (File.Exists(settings.jobsFilePath))
this.jobs = JsonConvert.DeserializeObject<HashSet<Job>>(File.ReadAllText(settings.jobsFilePath), new JobJsonConverter(this, new MangaConnectorJsonConverter(this, connectors)))!;
else
this.jobs = new();
this.mangaConnectorJobQueue = new();
}
@ -23,6 +27,7 @@ public class JobBoss : GlobalBase
{
Log($"Added {job}");
this.jobs.Add(job);
File.WriteAllText(settings.jobsFilePath, JsonConvert.SerializeObject(this.jobs));
}
}