mirror of
https://github.com/C9Glax/tranga.git
synced 2025-10-11 05:09:49 +02:00
Fix Mangapark duplicate entries
This commit is contained in:
@@ -29,7 +29,7 @@ public class Global : MangaConnector
|
|||||||
}while(tasks.Any(t => !t.IsCompleted));
|
}while(tasks.Any(t => !t.IsCompleted));
|
||||||
|
|
||||||
//Concatenate all results into one
|
//Concatenate all results into one
|
||||||
(Manga, MangaConnectorId<Manga>)[] ret = tasks.Select(t => t.IsCompletedSuccessfully ? t.Result : []).ToArray().SelectMany(i => i).ToArray();
|
(Manga, MangaConnectorId<Manga>)[] ret = tasks.Select(t => t.IsCompletedSuccessfully ? t.Result : []).SelectMany(i => i).ToArray();
|
||||||
Log.Debug($"Got {ret.Length} results.");
|
Log.Debug($"Got {ret.Length} results.");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@@ -43,20 +43,17 @@ public class MangaPark : MangaConnector
|
|||||||
if (document.DocumentNode.SelectSingleNode("//button[contains(text(),\"No Data\")]") is not null) // No results found
|
if (document.DocumentNode.SelectSingleNode("//button[contains(text(),\"No Data\")]") is not null) // No results found
|
||||||
break;
|
break;
|
||||||
|
|
||||||
ret.AddRange(document.GetNodesWith("q4_9")?.Select(n => ParseSingleMangaFromSearchResultsList(baseUri, n))??[]);
|
if (document.GetNodesWith("q4_9") is not { Count: > 0 } resultNodes)
|
||||||
|
return [];
|
||||||
|
IEnumerable<string> urls = resultNodes.Select(node =>
|
||||||
|
node.SelectSingleNode("//a[contains(@href,'title')]").Attributes["href"].Value).Distinct();
|
||||||
|
|
||||||
|
ret.AddRange(urls.Select(link => ((Manga, MangaConnectorId<Manga>))GetMangaFromUrl(new Uri(baseUri, link).ToString())!));
|
||||||
}else
|
}else
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret.ToArray();
|
return ret.DistinctBy(r => r.Item1.Key).ToArray();
|
||||||
}
|
|
||||||
|
|
||||||
private (Manga, MangaConnectorId<Manga>) ParseSingleMangaFromSearchResultsList(Uri baseUri, HtmlNode resultNode)
|
|
||||||
{
|
|
||||||
HtmlNode titleAndLinkNode = resultNode.SelectSingleNode("//a[contains(@href,'title')]");
|
|
||||||
string link = titleAndLinkNode.Attributes["href"].Value;
|
|
||||||
|
|
||||||
return ((Manga, MangaConnectorId<Manga>))GetMangaFromUrl(new Uri(baseUri, link).ToString())!;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override (Manga, MangaConnectorId<Manga>)? GetMangaFromId(string mangaIdOnSite)
|
public override (Manga, MangaConnectorId<Manga>)? GetMangaFromId(string mangaIdOnSite)
|
||||||
|
Reference in New Issue
Block a user