@@ 4666-4682 (lines=17) @@ | ||
4663 | 'title': title, |
|
4664 | 'day': day, |
|
4665 | 'month': month, |
|
4666 | 'year': year, |
|
4667 | 'img': [i['src'] for i in imgs], |
|
4668 | 'num': num, |
|
4669 | } |
|
4670 | ||
4671 | @classmethod |
|
4672 | def get_archive_elements(cls): |
|
4673 | archive_url = 'http://www.horovitzcomics.com/comics/archive/' |
|
4674 | return reversed(get_soup_at_url(archive_url).find_all('a', href=cls.link_re)) |
|
4675 | ||
4676 | ||
4677 | class HorovitzNew(HorovitzComics): |
|
4678 | """Class to retrieve Horovitz new comics.""" |
|
4679 | name = 'horovitznew' |
|
4680 | long_name = 'Horovitz New' |
|
4681 | link_re = re.compile('^/comics/new/([0-9]+)$') |
|
4682 | ||
4683 | ||
4684 | class HorovitzClassic(HorovitzComics): |
|
4685 | """Class to retrieve Horovitz classic comics.""" |
|
@@ 763-778 (lines=16) @@ | ||
760 | get_first_comic_link = get_div_navfirst_a |
|
761 | get_navi_link = get_link_rel_next |
|
762 | get_url_from_link = join_cls_url_to_href |
|
763 | ||
764 | @classmethod |
|
765 | def get_comic_info(cls, soup, link): |
|
766 | """Get information about a particular comics.""" |
|
767 | short_url_re = re.compile('^%s/\\?p=([0-9]*)' % cls.url) |
|
768 | short_url = cls.get_url_from_link(soup.find('link', rel='shortlink')) |
|
769 | num = int(short_url_re.match(short_url).groups()[0]) |
|
770 | imgs = soup.find('div', id='comic').find_all('img') |
|
771 | assert len(imgs) == 1 |
|
772 | title = imgs[0]['alt'] |
|
773 | title2 = imgs[0]['title'] |
|
774 | return { |
|
775 | 'short_url': short_url, |
|
776 | 'title': title, |
|
777 | 'title2': title2, |
|
778 | 'img': [urljoin_wrapper(cls.url, i['src']) for i in imgs], |
|
779 | 'num': num, |
|
780 | } |
|
781 |