From 6602427b42eda9be83a4e74d3548736e062279b2 Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Wed, 25 Dec 2019 22:49:43 +0100 Subject: [PATCH] ann.py: Further improvements. --- ann.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ann.py b/ann.py index 0b583ff..4d2c5d1 100644 --- a/ann.py +++ b/ann.py @@ -3,6 +3,9 @@ from urllib.parse import urljoin, urlencode import bs4 soup = lambda cont: bs4.BeautifulSoup(cont, "html.parser") +__all__ = ["anime", "getlist", + "error", "incompatible"] + base = "http://www.animenewsnetwork.com/encyclopedia/" class error(Exception): @@ -63,6 +66,8 @@ def cstr(soup): for el in soup: ret += cstr(el) return ret + elif isinstance(soup, str): + return soup elif soup is None: return None else: @@ -145,6 +150,18 @@ class anime(object): return ret return int(ret) + @cproperty + def vintage(self): + return cstr(self._info("vintage")).strip() + + @cproperty + def genres(self): + return [cstr(el) for x in (self._info("genres") or []) if isinstance(x, bs4.Tag) for el in x.findAll("a")] + + @cproperty + def themes(self): + return [cstr(el) for x in (self._info("themes") or []) if isinstance(x, bs4.Tag) for el in x.findAll("a")] + def __repr__(self): return "" % (self.name, self.id) -- 2.11.0