Compare commits
3 Commits
b6cdb07e3f
...
7a14583d6a
Author | SHA1 | Date | |
---|---|---|---|
7a14583d6a | |||
660f6a1648 | |||
482fcb7102 |
@ -1,4 +1,5 @@
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
using Logging;
|
||||
using Newtonsoft.Json;
|
||||
using Tranga.LibraryConnectors;
|
||||
@ -14,6 +15,7 @@ public abstract class GlobalBase
|
||||
protected HashSet<LibraryConnector> libraryConnectors { get; init; }
|
||||
protected List<Manga> cachedPublications { get; init; }
|
||||
protected static readonly NumberFormatInfo numberFormatDecimalPoint = new (){ NumberDecimalSeparator = "." };
|
||||
protected static readonly Regex baseUrlRex = new(@"https?:\/\/[0-9A-z\.]*");
|
||||
|
||||
protected GlobalBase(GlobalBase clone)
|
||||
{
|
||||
|
@ -165,12 +165,12 @@ public class JobBoss : GlobalBase
|
||||
public void ExportJob(Job job)
|
||||
{
|
||||
string jobFilePath = Path.Join(settings.jobsFolderPath, $"{job.id}.json");
|
||||
Log($"Exporting Job {jobFilePath}");
|
||||
|
||||
if (!this.jobs.Any(jjob => jjob.id == job.id))
|
||||
{
|
||||
try
|
||||
{
|
||||
Log($"Deleting Job-file {jobFilePath}");
|
||||
while(IsFileInUse(jobFilePath))
|
||||
Thread.Sleep(10);
|
||||
File.Delete(jobFilePath);
|
||||
@ -182,6 +182,7 @@ public class JobBoss : GlobalBase
|
||||
}
|
||||
else
|
||||
{
|
||||
Log($"Exporting Job {jobFilePath}");
|
||||
string jobStr = JsonConvert.SerializeObject(job);
|
||||
while(IsFileInUse(jobFilePath))
|
||||
Thread.Sleep(10);
|
||||
|
@ -21,10 +21,10 @@ public abstract class LibraryConnector : GlobalBase
|
||||
|
||||
protected LibraryConnector(GlobalBase clone, string baseUrl, string auth, LibraryType libraryType) : base(clone)
|
||||
{
|
||||
Regex urlRex = new(@"https?:\/\/[0-9A-z\.]*");
|
||||
if (!urlRex.IsMatch(baseUrl))
|
||||
Log($"Creating libraryConnector {Enum.GetName(libraryType)}");
|
||||
if (!baseUrlRex.IsMatch(baseUrl))
|
||||
throw new ArgumentException("Base url does not match pattern");
|
||||
this.baseUrl = urlRex.Match(baseUrl).Value;
|
||||
this.baseUrl = baseUrlRex.Match(baseUrl).Value;
|
||||
this.auth = auth;
|
||||
this.libraryType = libraryType;
|
||||
}
|
||||
|
@ -13,7 +13,9 @@ public class Gotify : NotificationConnector
|
||||
[JsonConstructor]
|
||||
public Gotify(GlobalBase clone, string endpoint, string appToken) : base(clone, NotificationConnectorType.Gotify)
|
||||
{
|
||||
this.endpoint = endpoint;
|
||||
if (!baseUrlRex.IsMatch(endpoint))
|
||||
throw new ArgumentException("endpoint does not match pattern");
|
||||
this.endpoint = baseUrlRex.Match(endpoint).Value;;
|
||||
this.appToken = appToken;
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ public abstract class NotificationConnector : GlobalBase
|
||||
|
||||
protected NotificationConnector(GlobalBase clone, NotificationConnectorType notificationConnectorType) : base(clone)
|
||||
{
|
||||
Log($"Creating notificationConnector {Enum.GetName(notificationConnectorType)}");
|
||||
this.notificationConnectorType = notificationConnectorType;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user