Fix duplicate mangas on startup
This commit is contained in:
parent
5f05ba1049
commit
52d0489a1b
@ -148,7 +148,7 @@ public class JobBoss : GlobalBase
|
||||
Regex idRex = new (@"(.*)\.json");
|
||||
|
||||
//Load json-job-files
|
||||
foreach (FileInfo file in new DirectoryInfo(TrangaSettings.jobsFolderPath).EnumerateFiles().Where(fileInfo => idRex.IsMatch(fileInfo.Name)))
|
||||
foreach (FileInfo file in new DirectoryInfo(TrangaSettings.jobsFolderPath).EnumerateFiles().Where(fileInfo => idRex.IsMatch(fileInfo.Name)))
|
||||
{
|
||||
Log($"Adding {file.Name}");
|
||||
Job? job = JsonConvert.DeserializeObject<Job>(File.ReadAllText(file.FullName),
|
||||
@ -163,6 +163,7 @@ public class JobBoss : GlobalBase
|
||||
{
|
||||
Log($"Adding Job {job}");
|
||||
this.jobs.Add(job);
|
||||
UpdateJobFile(job, file.Name);
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,42 +189,28 @@ public class JobBoss : GlobalBase
|
||||
internal void UpdateJobFile(Job job, string? oldFile = null)
|
||||
{
|
||||
string newJobFilePath = Path.Join(TrangaSettings.jobsFolderPath, $"{job.id}.json");
|
||||
string oldFilePath = Path.Join(TrangaSettings.jobsFolderPath, oldFile);
|
||||
|
||||
if (!this.jobs.Any(jjob => jjob.id == job.id))
|
||||
if (File.Exists(oldFilePath))
|
||||
{
|
||||
Log($"Deleting Job-file {oldFilePath}");
|
||||
try
|
||||
{
|
||||
Log($"Deleting Job-file {newJobFilePath}");
|
||||
while(IsFileInUse(newJobFilePath))
|
||||
while(IsFileInUse(oldFilePath))
|
||||
Thread.Sleep(10);
|
||||
File.Delete(newJobFilePath);
|
||||
File.Delete(oldFilePath);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log(e.ToString());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Log($"Exporting Job {newJobFilePath}");
|
||||
string jobStr = JsonConvert.SerializeObject(job, Formatting.Indented);
|
||||
while(IsFileInUse(newJobFilePath))
|
||||
Thread.Sleep(10);
|
||||
File.WriteAllText(newJobFilePath, jobStr);
|
||||
}
|
||||
|
||||
if(oldFile is not null)
|
||||
try
|
||||
{
|
||||
Log($"Deleting old Job-file {oldFile}");
|
||||
while(IsFileInUse(oldFile))
|
||||
Thread.Sleep(10);
|
||||
File.Delete(oldFile);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log(e.ToString());
|
||||
}
|
||||
Log($"Exporting Job {newJobFilePath}");
|
||||
string jobStr = JsonConvert.SerializeObject(job, Formatting.Indented);
|
||||
while(IsFileInUse(newJobFilePath))
|
||||
Thread.Sleep(10);
|
||||
File.WriteAllText(newJobFilePath, jobStr);
|
||||
}
|
||||
|
||||
private void UpdateAllJobFiles()
|
||||
|
Loading…
Reference in New Issue
Block a user