mirror of
https://github.com/C9Glax/tranga.git
synced 2025-07-09 14:46:05 +02:00
Compare commits
7 Commits
0486168b43
...
0.6.1
Author | SHA1 | Date | |
---|---|---|---|
972cba69ec | |||
962fe9529e | |||
da1b0cb1cd | |||
7f88e57e47 | |||
8865bf284f | |||
5fc2de5fcb | |||
4bae223d95 |
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
using Logging;
|
using Logging;
|
||||||
using Tranga;
|
using Tranga;
|
||||||
|
|
||||||
string applicationFolderPath = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Tranga-API");
|
string applicationFolderPath =
|
||||||
|
Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Tranga-API");
|
||||||
string logsFolderPath = Path.Join(applicationFolderPath, "logs");
|
string logsFolderPath = Path.Join(applicationFolderPath, "logs");
|
||||||
string logFilePath = Path.Join(logsFolderPath, $"log-{DateTime.Now:dd-M-yyyy-HH-mm-ss}.txt");
|
string logFilePath = Path.Join(logsFolderPath, $"log-{DateTime.Now:dd-M-yyyy-HH-mm-ss}.txt");
|
||||||
string settingsFilePath = Path.Join(applicationFolderPath, "settings.json");
|
string settingsFilePath = Path.Join(applicationFolderPath, "settings.json");
|
||||||
@ -20,7 +20,7 @@ TrangaSettings settings;
|
|||||||
if (File.Exists(settingsFilePath))
|
if (File.Exists(settingsFilePath))
|
||||||
settings = TrangaSettings.LoadSettings(settingsFilePath);
|
settings = TrangaSettings.LoadSettings(settingsFilePath);
|
||||||
else
|
else
|
||||||
settings = new TrangaSettings(Directory.GetCurrentDirectory(), settingsFilePath, null);
|
settings = new TrangaSettings(Directory.GetCurrentDirectory(), applicationFolderPath, null);
|
||||||
|
|
||||||
TaskManager taskManager = new (settings, logger);
|
TaskManager taskManager = new (settings, logger);
|
||||||
|
|
||||||
@ -103,20 +103,8 @@ app.MapDelete("/Queue/Dequeue", (string taskType, string? connectorName, string?
|
|||||||
taskManager.RemoveTaskFromQueue(task);
|
taskManager.RemoveTaskFromQueue(task);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.MapGet("/Settings/Get", () => new Settings(taskManager.settings));
|
app.MapGet("/Settings/Get", () => taskManager.settings);
|
||||||
|
|
||||||
app.MapPost("/Settings/Update", (string? downloadLocation, string? komgaUrl, string? komgaAuth) => taskManager.UpdateSettings(downloadLocation, komgaUrl, komgaAuth) );
|
app.MapPost("/Settings/Update", (string? downloadLocation, string? komgaUrl, string? komgaAuth) => taskManager.UpdateSettings(downloadLocation, komgaUrl, komgaAuth) );
|
||||||
|
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|
||||||
class Settings
|
|
||||||
{
|
|
||||||
public string downloadLocation { get; }
|
|
||||||
public Komga? komga { get; }
|
|
||||||
|
|
||||||
public Settings(TrangaSettings settings)
|
|
||||||
{
|
|
||||||
this.downloadLocation = settings.downloadLocation;
|
|
||||||
this.komga = settings.komga;
|
|
||||||
}
|
|
||||||
}
|
|
@ -14,7 +14,7 @@ public static class Tranga_Cli
|
|||||||
{
|
{
|
||||||
public static void Main(string[] args)
|
public static void Main(string[] args)
|
||||||
{
|
{
|
||||||
string applicationFolderPath = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Tranga");
|
string applicationFolderPath = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Tranga");
|
||||||
string logsFolderPath = Path.Join(applicationFolderPath, "logs");
|
string logsFolderPath = Path.Join(applicationFolderPath, "logs");
|
||||||
string logFilePath = Path.Join(logsFolderPath, $"log-{DateTime.Now:dd-M-yyyy-HH-mm-ss}.txt");
|
string logFilePath = Path.Join(logsFolderPath, $"log-{DateTime.Now:dd-M-yyyy-HH-mm-ss}.txt");
|
||||||
string settingsFilePath = Path.Join(applicationFolderPath, "settings.json");
|
string settingsFilePath = Path.Join(applicationFolderPath, "settings.json");
|
||||||
|
@ -213,7 +213,10 @@ public class MangaDex : Connector
|
|||||||
DirectoryInfo dirInfo = new (publicationFolder);
|
DirectoryInfo dirInfo = new (publicationFolder);
|
||||||
foreach(FileInfo fileInfo in dirInfo.EnumerateFiles())
|
foreach(FileInfo fileInfo in dirInfo.EnumerateFiles())
|
||||||
if (fileInfo.Name.Contains("cover."))
|
if (fileInfo.Name.Contains("cover."))
|
||||||
|
{
|
||||||
|
logger?.WriteLine(this.GetType().ToString(), $"Cover exists {publication.sortName}");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//Request information where to download Cover
|
//Request information where to download Cover
|
||||||
DownloadClient.RequestResult requestResult =
|
DownloadClient.RequestResult requestResult =
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Text;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace Tranga;
|
namespace Tranga;
|
||||||
|
|
||||||
@ -35,7 +36,8 @@ public readonly struct Publication
|
|||||||
this.status = status;
|
this.status = status;
|
||||||
this.downloadUrl = downloadUrl;
|
this.downloadUrl = downloadUrl;
|
||||||
this.folderName = string.Concat(sortName.Split(Path.GetInvalidPathChars().Concat(Path.GetInvalidFileNameChars()).ToArray()));
|
this.folderName = string.Concat(sortName.Split(Path.GetInvalidPathChars().Concat(Path.GetInvalidFileNameChars()).ToArray()));
|
||||||
this.internalId = Guid.NewGuid().ToString();
|
string onlyLowerAscii = this.sortName.ToLower().Where(Char.IsAscii).ToString()!;
|
||||||
|
this.internalId = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{onlyLowerAscii}{this.year}"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <returns>Serialized JSON String for series.json</returns>
|
/// <returns>Serialized JSON String for series.json</returns>
|
||||||
|
@ -6,15 +6,14 @@ public class TrangaSettings
|
|||||||
{
|
{
|
||||||
public string downloadLocation { get; set; }
|
public string downloadLocation { get; set; }
|
||||||
public string workingDirectory { get; set; }
|
public string workingDirectory { get; set; }
|
||||||
public string settingsFilePath => Path.Join(workingDirectory, "settings.json");
|
[JsonIgnore]public string settingsFilePath => Path.Join(workingDirectory, "settings.json");
|
||||||
public string tasksFilePath => Path.Join(workingDirectory, "tasks.json");
|
[JsonIgnore]public string tasksFilePath => Path.Join(workingDirectory, "tasks.json");
|
||||||
public string knownPublicationsPath => Path.Join(workingDirectory, "knownPublications.json");
|
[JsonIgnore]public string knownPublicationsPath => Path.Join(workingDirectory, "knownPublications.json");
|
||||||
public Komga? komga { get; set; }
|
public Komga? komga { get; set; }
|
||||||
|
|
||||||
public TrangaSettings(string downloadLocation, string? workingDirectory, Komga? komga)
|
public TrangaSettings(string downloadLocation, string workingDirectory, Komga? komga)
|
||||||
{
|
{
|
||||||
this.workingDirectory = workingDirectory ??
|
this.workingDirectory = workingDirectory;
|
||||||
Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Tranga");
|
|
||||||
this.downloadLocation = downloadLocation;
|
this.downloadLocation = downloadLocation;
|
||||||
this.komga = komga;
|
this.komga = komga;
|
||||||
}
|
}
|
||||||
@ -22,7 +21,7 @@ public class TrangaSettings
|
|||||||
public static TrangaSettings LoadSettings(string importFilePath)
|
public static TrangaSettings LoadSettings(string importFilePath)
|
||||||
{
|
{
|
||||||
if (!File.Exists(importFilePath))
|
if (!File.Exists(importFilePath))
|
||||||
return new TrangaSettings(Directory.GetCurrentDirectory(), null, null);
|
return new TrangaSettings(Path.Join(Directory.GetCurrentDirectory(), "Downloads"), Directory.GetCurrentDirectory(), null);
|
||||||
|
|
||||||
string toRead = File.ReadAllText(importFilePath);
|
string toRead = File.ReadAllText(importFilePath);
|
||||||
TrangaSettings settings = JsonConvert.DeserializeObject<TrangaSettings>(toRead)!;
|
TrangaSettings settings = JsonConvert.DeserializeObject<TrangaSettings>(toRead)!;
|
||||||
|
Reference in New Issue
Block a user