mirror of
https://github.com/C9Glax/tranga.git
synced 2025-02-23 15:50:13 +01:00
Added API: GET Manga
This commit is contained in:
parent
c601541249
commit
1265c7a072
@ -223,25 +223,37 @@ public class Server : GlobalBase
|
|||||||
{
|
{
|
||||||
Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query);
|
Dictionary<string, string> requestVariables = GetRequestVariables(request.Url!.Query);
|
||||||
string? connectorName, internalId, jobId, chapterNumStr, customFolderName;
|
string? connectorName, internalId, jobId, chapterNumStr, customFolderName;
|
||||||
MangaConnector connector;
|
MangaConnector? connector;
|
||||||
|
Manga? tmpManga;
|
||||||
Manga manga;
|
Manga manga;
|
||||||
Job? job;
|
Job? job;
|
||||||
string path = Regex.Match(request.Url!.LocalPath, @"[A-z0-9]+(\/[A-z0-9]+)*").Value;
|
string path = Regex.Match(request.Url!.LocalPath, @"[A-z0-9]+(\/[A-z0-9]+)*").Value;
|
||||||
switch (path)
|
switch (path)
|
||||||
{
|
{
|
||||||
|
case "Manga":
|
||||||
|
if(!requestVariables.TryGetValue("internalId", out internalId) ||
|
||||||
|
!_parent.TryGetPublicationById(internalId, out tmpManga))
|
||||||
|
{
|
||||||
|
SendResponse(HttpStatusCode.BadRequest, response);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
manga = (Manga)tmpManga!;
|
||||||
|
SendResponse(HttpStatusCode.OK, response, manga);
|
||||||
|
break;
|
||||||
case "Jobs/MonitorManga":
|
case "Jobs/MonitorManga":
|
||||||
if(!requestVariables.TryGetValue("connector", out connectorName) ||
|
if(!requestVariables.TryGetValue("connector", out connectorName) ||
|
||||||
!requestVariables.TryGetValue("internalId", out internalId) ||
|
!requestVariables.TryGetValue("internalId", out internalId) ||
|
||||||
!requestVariables.TryGetValue("interval", out string? intervalStr) ||
|
!requestVariables.TryGetValue("interval", out string? intervalStr) ||
|
||||||
_parent.GetConnector(connectorName) is null ||
|
!_parent.TryGetConnector(connectorName, out connector)||
|
||||||
_parent.GetPublicationById(internalId) is null ||
|
!_parent.TryGetPublicationById(internalId, out tmpManga) ||
|
||||||
!TimeSpan.TryParse(intervalStr, out TimeSpan interval))
|
!TimeSpan.TryParse(intervalStr, out TimeSpan interval))
|
||||||
{
|
{
|
||||||
SendResponse(HttpStatusCode.BadRequest, response);
|
SendResponse(HttpStatusCode.BadRequest, response);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
connector = _parent.GetConnector(connectorName)!;
|
|
||||||
manga = (Manga)_parent.GetPublicationById(internalId)!;
|
manga = (Manga)tmpManga!;
|
||||||
|
|
||||||
if (requestVariables.TryGetValue("ignoreBelowChapterNum", out chapterNumStr))
|
if (requestVariables.TryGetValue("ignoreBelowChapterNum", out chapterNumStr))
|
||||||
{
|
{
|
||||||
if (!float.TryParse(chapterNumStr, numberFormatDecimalPoint, out float chapterNum))
|
if (!float.TryParse(chapterNumStr, numberFormatDecimalPoint, out float chapterNum))
|
||||||
@ -255,20 +267,21 @@ public class Server : GlobalBase
|
|||||||
if (requestVariables.TryGetValue("customFolderName", out customFolderName))
|
if (requestVariables.TryGetValue("customFolderName", out customFolderName))
|
||||||
manga.MovePublicationFolder(settings.downloadLocation, customFolderName);
|
manga.MovePublicationFolder(settings.downloadLocation, customFolderName);
|
||||||
|
|
||||||
_parent.jobBoss.AddJob(new DownloadNewChapters(this, connector, manga, true, interval));
|
_parent.jobBoss.AddJob(new DownloadNewChapters(this, connector!, manga, true, interval));
|
||||||
SendResponse(HttpStatusCode.Accepted, response);
|
SendResponse(HttpStatusCode.Accepted, response);
|
||||||
break;
|
break;
|
||||||
case "Jobs/DownloadNewChapters":
|
case "Jobs/DownloadNewChapters":
|
||||||
if(!requestVariables.TryGetValue("connector", out connectorName) ||
|
if(!requestVariables.TryGetValue("connector", out connectorName) ||
|
||||||
!requestVariables.TryGetValue("internalId", out internalId) ||
|
!requestVariables.TryGetValue("internalId", out internalId) ||
|
||||||
_parent.GetConnector(connectorName) is null ||
|
!_parent.TryGetConnector(connectorName, out connector)||
|
||||||
_parent.GetPublicationById(internalId) is null)
|
!_parent.TryGetPublicationById(internalId, out tmpManga))
|
||||||
{
|
{
|
||||||
SendResponse(HttpStatusCode.BadRequest, response);
|
SendResponse(HttpStatusCode.BadRequest, response);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
connector = _parent.GetConnector(connectorName)!;
|
|
||||||
manga = (Manga)_parent.GetPublicationById(internalId)!;
|
manga = (Manga)tmpManga!;
|
||||||
|
|
||||||
if (requestVariables.TryGetValue("ignoreBelowChapterNum", out chapterNumStr))
|
if (requestVariables.TryGetValue("ignoreBelowChapterNum", out chapterNumStr))
|
||||||
{
|
{
|
||||||
if (!float.TryParse(chapterNumStr, numberFormatDecimalPoint, out float chapterNum))
|
if (!float.TryParse(chapterNumStr, numberFormatDecimalPoint, out float chapterNum))
|
||||||
@ -282,7 +295,7 @@ public class Server : GlobalBase
|
|||||||
if (requestVariables.TryGetValue("customFolderName", out customFolderName))
|
if (requestVariables.TryGetValue("customFolderName", out customFolderName))
|
||||||
manga.MovePublicationFolder(settings.downloadLocation, customFolderName);
|
manga.MovePublicationFolder(settings.downloadLocation, customFolderName);
|
||||||
|
|
||||||
_parent.jobBoss.AddJob(new DownloadNewChapters(this, connector, manga, false));
|
_parent.jobBoss.AddJob(new DownloadNewChapters(this, connector!, manga, false));
|
||||||
SendResponse(HttpStatusCode.Accepted, response);
|
SendResponse(HttpStatusCode.Accepted, response);
|
||||||
break;
|
break;
|
||||||
case "Jobs/StartNow":
|
case "Jobs/StartNow":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user