From: Fredrik Tolf Date: Wed, 25 Dec 2019 21:49:43 +0000 (+0100) Subject: ann.py: Further improvements. X-Git-Url: http://git.dolda2000.com/gitweb/?a=commitdiff_plain;ds=sidebyside;h=6602427b42eda9be83a4e74d3548736e062279b2;p=utils.git ann.py: Further improvements. --- 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)