Code Duplication    Length = 17-18 lines in 2 locations

comics.py 2 locations

@@ 1744-1761 (lines=18) @@
1741
            'title': title,
1742
            'author': author,
1743
        }
1744
1745
1746
class BigFootJustice(GenericNavigableComic):
1747
    """Class to retrieve Big Foot Justice comics."""
1748
    # Also on http://tapastic.com/series/bigfoot-justice
1749
    name = 'bigfoot'
1750
    long_name = 'Big Foot Justice'
1751
    url = 'http://bigfootjustice.com'
1752
    get_first_comic_link = get_a_navi_navifirst
1753
    get_navi_link = get_a_navi_comicnavnext_navinext
1754
1755
    @classmethod
1756
    def get_comic_info(cls, soup, link):
1757
        """Get information about a particular comics."""
1758
        imgs = soup.find('div', id='comic').find_all('img')
1759
        assert all(i['title'] == i['alt'] for i in imgs)
1760
        title = ' '.join(i['title'] for i in imgs)
1761
        return {
1762
            'img': [i['src'] for i in imgs],
1763
            'title': title,
1764
        }
@@ 2626-2642 (lines=17) @@
2623
            'month': day.month,
2624
            'year': day.year,
2625
            'day': day.day,
2626
        }
2627
2628
2629
class BuniComic(GenericNavigableComic):
2630
    """Class to retrieve Buni Comics."""
2631
    name = 'buni'
2632
    long_name = 'BuniComics'
2633
    url = 'http://www.bunicomic.com'
2634
    get_first_comic_link = get_a_comicnavbase_comicnavfirst
2635
    get_navi_link = get_link_rel_next
2636
2637
    @classmethod
2638
    def get_comic_info(cls, soup, link):
2639
        """Get information about a particular comics."""
2640
        imgs = soup.find('div', id='comic').find_all('img')
2641
        assert all(i['alt'] == i['title'] for i in imgs)
2642
        assert len(imgs) == 1
2643
        return {
2644
            'img': [i['src'] for i in imgs],
2645
            'title': imgs[0]['title'],