Code Duplication    Length = 16-17 lines in 2 locations

comics.py 2 locations

@@ 4666-4682 (lines=17) @@
4663
class SkeletonClaw(GenericTumblrV1):
4664
    """Class to retrieve Skeleton Claw comics."""
4665
    name = 'skeletonclaw'
4666
    long_name = 'Skeleton Claw'
4667
    url = 'http://skeletonclaw.com'
4668
4669
4670
class MrsFrolleinTumblr(GenericTumblrV1):
4671
    """Class to retrieve Mrs Frollein comics."""
4672
    # Also on http://www.webtoons.com/en/challenge/mrsfrollein/list?title_no=51710
4673
    name = 'frollein'
4674
    long_name = 'Mrs Frollein (from Tumblr)'
4675
    url = 'https://mrsfrollein.tumblr.com'
4676
4677
4678
class GoodBearComicsTumblr(GenericTumblrV1):
4679
    """Class to retrieve GoodBearComics."""
4680
    # Also on https://goodbearcomics.com
4681
    name = 'goodbear-tumblr'
4682
    long_name = 'Good Bear Comics (from Tumblr)'
4683
    url = 'https://goodbearcomics.tumblr.com'
4684
4685
@@ 763-778 (lines=16) @@
760
    long_name = 'NeDroid'
761
    url = 'http://nedroid.com'
762
    get_first_comic_link = get_div_navfirst_a
763
    get_navi_link = get_link_rel_next
764
    get_url_from_link = join_cls_url_to_href
765
766
    @classmethod
767
    def get_comic_info(cls, soup, link):
768
        """Get information about a particular comics."""
769
        short_url_re = re.compile('^%s/\\?p=([0-9]*)' % cls.url)
770
        short_url = cls.get_url_from_link(soup.find('link', rel='shortlink'))
771
        num = int(short_url_re.match(short_url).groups()[0])
772
        imgs = soup.find('div', id='comic').find_all('img')
773
        assert len(imgs) == 1, imgs
774
        title = imgs[0]['alt']
775
        title2 = imgs[0]['title']
776
        return {
777
            'short_url': short_url,
778
            'title': title,
779
            'title2': title2,
780
            'img': [urljoin_wrapper(cls.url, i['src']) for i in imgs],
781
            'num': num,