From 9b479d6e6d2c200b9b62190ab37f4e9de5cb8e8e Mon Sep 17 00:00:00 2001 From: WorldTeacher Date: Thu, 27 Feb 2025 22:53:43 +0100 Subject: [PATCH] update nyaasi API --- src/data/Feeds/nyaasi.py | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/data/Feeds/nyaasi.py b/src/data/Feeds/nyaasi.py index 9007a6e..b075c44 100644 --- a/src/data/Feeds/nyaasi.py +++ b/src/data/Feeds/nyaasi.py @@ -2,6 +2,12 @@ from komsuite_nyaapy import Nyaa from natsort import natsorted import re +from komconfig import KomConfig +import loguru + +log = loguru.logger +log.add("logs/nyaasi.log", rotation="1 week") +config = KomConfig() class NyaaFeed(Nyaa): @@ -21,18 +27,25 @@ class NyaaFeed(Nyaa): return natsorted(volumes) def search(self, title: str): + regex = r"\b(v\d{2,3}-\d{2,3}|v\d{2,3}-v\d{2,3}|\d{2}|\d{2}-\d{2}|v\d{2,3})\b" dataset = super().search(title, 3, 1) datalist = [] if dataset is None: return datalist for entry in dataset: + if config.komgrabber.get_chapters is False: + if "chapter" in entry.name.lower(): + log.info( + "Skipping {}, Reason: Chapters disabled".format(entry.name) + ) + continue data = {} - # print(entry) - # if not "digital" in entry.title.lower(): - # # print("Skipping {}".format(entry.title)) - # # log.log("Skipping {}".format(entry.title)) - # continue data["title"] = entry.name + if any( + x in data["title"].lower() for x in config.komgrabber.skip_parameters + ): + log.info("Skipping {}".format(data["title"])) + continue data["volumes"] = re.findall(regex, data["title"]) try: match = re.match( @@ -52,9 +65,9 @@ class NyaaFeed(Nyaa): data["volumes"] = ( self.list_volumes(data["volumes"]) if data["volumes"] else [0] ) - data["link"] = entry.link - data["seeders"] = entry.nyaa_seeders - data["filesize"] = entry.nyaa_size + data["link"] = entry.download_url + data["seeders"] = entry.seeders + data["filesize"] = entry.size # print(data) datalist.append(data) @@ -63,3 +76,4 @@ class NyaaFeed(Nyaa): if __name__ == "__main__": print("This is a module, not a script") + print(NyaaFeed().search("One Piece"))