- mure = re.compile(r"/comic/_/comics/([^/]*)$")
- def search(self, expr):
- resp = urllib.urlopen(self.base + "forums/index.php?app=core&module=search&do=search&fromMainBar=1",
- urllib.urlencode({"search_term": expr, "search_app": "ccs:database:3"}))
- try:
- page = soup(resp.read())
- finally:
- resp.close()
- none = page.find("p", attrs={"class": "no_messages"})
- if none is not None and u"No results" in none.text:
- return []
- ret = []
- for child in page.find("div", id="search_results").ol.childGenerator():
- if isinstance(child, BeautifulSoup.Tag) and child.name == u"li":
- info = child.find("div", attrs={"class": "result_info"})
- url = info.h3.a["href"].encode("us-ascii")
- m = self.mure.search(url)
- if m is None: raise Exception("Got weird manga URL: %r" % url)
- id = m.group(1)
- name = info.h3.a.string.strip()
- ret.append(manga(self, id, name, url))
- return ret
-
- rure = re.compile(r"/comic/_/([^/]*)$")
- def byname(self, prefix):
- if not isinstance(prefix, unicode):
- prefix = prefix.decode("utf8")