Fixed naming errors containing Manga

Added GetMangaFromUrl(url) to Mangaconnector
This commit is contained in:
2023-09-02 21:52:48 +02:00
parent 14ba71005f
commit ad1d4dfe23
6 changed files with 183 additions and 146 deletions

View File

@ -19,7 +19,7 @@ public class MangaKatana : MangaConnector
});
}
public override Manga[] GetPublications(string publicationTitle = "")
public override Manga[] GetManga(string publicationTitle = "")
{
Log($"Searching Publications. Term=\"{publicationTitle}\"");
string sanitizedTitle = string.Join('_', Regex.Matches(publicationTitle, "[A-z]*").Where(m => m.Value.Length > 0)).ToLower();
@ -44,6 +44,15 @@ public class MangaKatana : MangaConnector
return publications;
}
public override Manga? GetMangaFromUrl(string url)
{
DownloadClient.RequestResult requestResult =
downloadClient.MakeRequest(url, 1);
if ((int)requestResult.statusCode < 200 || (int)requestResult.statusCode >= 300)
return null;
return ParseSinglePublicationFromHtml(requestResult.result, url.Split('/')[^1]);
}
private Manga[] ParsePublicationsFromHtml(Stream html)
{
StreamReader reader = new(html);
@ -63,12 +72,9 @@ public class MangaKatana : MangaConnector
HashSet<Manga> ret = new();
foreach (string url in urls)
{
DownloadClient.RequestResult requestResult =
downloadClient.MakeRequest(url, 1);
if ((int)requestResult.statusCode < 200 || (int)requestResult.statusCode >= 300)
return Array.Empty<Manga>();
ret.Add(ParseSinglePublicationFromHtml(requestResult.result, url.Split('/')[^1]));
Manga? manga = GetMangaFromUrl(url);
if (manga is not null)
ret.Add((Manga)manga);
}
return ret.ToArray();