diff --git a/Tranga/API/Server.cs b/Tranga/API/Server.cs index ae913ed..8d19bc4 100644 --- a/Tranga/API/Server.cs +++ b/Tranga/API/Server.cs @@ -82,12 +82,11 @@ public class Server response.OutputStream.Write(content is not null ? Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(content)) : Array.Empty()); + response.OutputStream.Close(); } catch (HttpListenerException) { } - response.OutputStream.Close(); - } } \ No newline at end of file diff --git a/Tranga/Connectors/MangaKatana.cs b/Tranga/Connectors/MangaKatana.cs index e5cec4d..6205d38 100644 --- a/Tranga/Connectors/MangaKatana.cs +++ b/Tranga/Connectors/MangaKatana.cs @@ -22,7 +22,7 @@ public class MangaKatana : Connector protected override Publication[] GetPublicationsInternal(string publicationTitle = "") { commonObjects.logger?.WriteLine(this.GetType().ToString(), $"Getting Publications (title={publicationTitle})"); - string sanitizedTitle = string.Concat(Regex.Matches(publicationTitle, "[A-z]* *")).ToLower().Replace(' ', '_'); + string sanitizedTitle = string.Join('_', Regex.Matches(publicationTitle, "[A-z]*").Where(m => m.Value.Length > 0)).ToLower(); string requestUrl = $"https://mangakatana.com/?search={sanitizedTitle}&search_by=book_name"; DownloadClient.RequestResult requestResult = downloadClient.MakeRequest(requestUrl, 1); @@ -48,6 +48,8 @@ public class MangaKatana : Connector HtmlDocument document = new(); document.LoadHtml(htmlString); IEnumerable searchResults = document.DocumentNode.SelectNodes("//*[@id='book_list']/div"); + if (searchResults is null || !searchResults.Any()) + return Array.Empty(); List urls = new(); foreach (HtmlNode mangaResult in searchResults) {