# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from __future__ import unicode_literals

import re

from calibre.web.feeds.recipes import BasicNewsRecipe


class bleskRecipe(BasicNewsRecipe):
    __author__ = 'bubak'
    title = 'Blesk'
    publisher = ''
    description = 'blesk.cz'
    oldest_article = 1
    max_articles_per_feed = 20
    use_embedded_content = False

    feeds = [
        ('Zprávy', 'http://www.blesk.cz/rss/7'),
        ('Blesk', 'http://www.blesk.cz/rss/1'),
        ('Sex a tabu', 'http://www.blesk.cz/rss/2'),
        ('Celebrity', 'http://www.blesk.cz/rss/5'),
        ('Cestování', 'http://www.blesk.cz/rss/12'),
    ]

    language = 'cs'
    cover_url = 'http://img.blesk.cz/images/blesk/blesk-logo.png'
    remove_javascript = True
    no_stylesheets = True
    extra_css = '''
                            '''

    remove_attributes = []
    remove_tags_before = dict(name='div', attrs={'id': ['boxContent']})
    remove_tags_after = dict(name='div', attrs={'class': ['artAuthors']})
    remove_tags = [
        dict(name='div', attrs={'class': ['link_clanek']}),
        dict(name='div', attrs={'id': ['partHeader']}),
        dict(name='div', attrs={'id': ['top_bottom_box', 'lista_top']}),
    ]
    preprocess_regexps = [(re.compile(r'<div class="(textovytip|related)".*', re.DOTALL | re.IGNORECASE), lambda match: '</body>')]

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

    visited_urls = {}

    def get_article_url(self, article):
        url = BasicNewsRecipe.get_article_url(self, article)
        if url in self.visited_urls:
            self.log.debug('Ignoring duplicate: ' + url)
            return None
        else:
            self.visited_urls[url] = True
            self.log.debug('Accepting: ' + url)
            return url
