From 5fe339881710fe5c84dcf2c184481ef3215d1320 Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Mon, 13 Jan 2020 13:23:25 +0100 Subject: [PATCH] kakalot: Added search functionality. --- manga/kakalot.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/manga/kakalot.py b/manga/kakalot.py index 96a7c28..9a5fb03 100644 --- a/manga/kakalot.py +++ b/manga/kakalot.py @@ -1,4 +1,4 @@ -import bs4 +import bs4, json, urllib from urllib.parse import urljoin from . import lib, htcache soup = bs4.BeautifulSoup @@ -108,3 +108,17 @@ class library(lib.library): if name is None: raise KeyError(id) name = name.string return manga(self, id, name, url) + + def search(self, expr): + values = {"searchword": expr} + req = urllib.request.Request(self.base + "home_json_search", + urllib.parse.urlencode(values).encode("ascii"), + headers={"User-Agent": "automanga/1"}) + with urllib.request.urlopen(req) as resp: + rc = json.loads(resp.read().decode("utf-8")) + for obj in rc: + if "nameunsigned" in obj: + try: + yield self.byid(obj["nameunsigned"]) + except KeyError: + pass -- 2.11.0