from calibre.web.feeds.news import BasicNewsRecipe


class TheFridayTimes(BasicNewsRecipe):
    __author__ = 'Krittika Goyal, ireadtheinternet'
    language = 'en_PK'
    encoding = 'utf8'
    version = 1.1

    title = 'The Friday Times'
    category = 'news, Pakistan'
    description = "Pakistan's First Independent Weekly Paper"

    no_stylesheets = True
    no_javascript = True
    ignore_duplicate_articles = {'url'}

    keep_only_tags = [
        dict(name='div', attrs={'class': 'sidebar_content'}),
    ]

    remove_tags = [dict(name='p', attrs={'class': 'no-break'}), dict(name='div', attrs={'class': 'related_posts'}), dict(name='div', attrs={'id': 'respond'})]

    def parse_index(self):
        toc_page = self.index_to_soup('http://www.thefridaytimes.com/tft/')
        toc = toc_page.find('div', attrs={'class': 'sidebar_left_home_wrapper'})

        articles = []
        for story in toc.findAll('a'):
            # skip the links with an image, they are repeated further down
            if story.find('img') is not None:
                continue
            url = story['href']
            # If no title, use url as title
            title = story.get('title', url)
            self.log('Found article:', story)
            self.log('\t', url)
            articles.append({'title': title, 'url': url, 'date': '', 'description': ''})

        return [('Current Issue', articles)]
