import re
from calibre.web.feeds.news import BasicNewsRecipe

class PortalR7(BasicNewsRecipe):
    title                  = 'Noticias R7'
    __author__             = 'Diniz Bortolotto'
    description            = 'Noticias Portal R7'
    oldest_article         = 2
    max_articles_per_feed  = 20
    encoding               = 'utf8'
    publisher              = 'Rede Record'
    category               = 'news, Brazil'
    language               = 'pt_BR'
    publication_type       = 'newsportal'
    use_embedded_content   = False
    no_stylesheets         = True
    remove_javascript      = True
    remove_attributes      = ['style']

    feeds                  = [
                              (u'Brasil', u'http://www.r7.com/data/rss/brasil.xml'),
                              (u'Economia', u'http://www.r7.com/data/rss/economia.xml'),
                              (u'Internacional', u'http://www.r7.com/data/rss/internacional.xml'),
                              (u'Tecnologia e Ci\xeancia', u'http://www.r7.com/data/rss/tecnologiaCiencia.xml')
                             ]
    reverse_article_order  = True

    keep_only_tags         = [dict(name='div', attrs={'class':'materia'})]
    remove_tags            = [
                              dict(id=['espalhe', 'report-erro']),
                              dict(name='ul', attrs={'class':'controles'}),
                              dict(name='ul', attrs={'class':'relacionados'}),
                              dict(name='div', attrs={'class':'materia_banner'}),
                              dict(name='div', attrs={'class':'materia_controles'})
                             ]

    preprocess_regexps     = [
                              (re.compile(r'<div class="materia">.*<div class="materia_cabecalho">',re.DOTALL|re.IGNORECASE),
                              lambda match: '<div class="materia"><div class="materia_cabecalho">')
                             ]
