from calibre.web.feeds.news import BasicNewsRecipe


class ElFaroDeVigo(BasicNewsRecipe):
    title = u'El Faro de Vigo'
    oldest_article = 1
    max_articles_per_feed = 100
    __author__ = 'Jefferson Frantz'
    description = 'Noticias de Vigo'
    timefmt = ' [%d %b, %Y]'
    language = 'es'
    encoding = 'cp1252'
    no_stylesheets = True
    remove_javascript = True

    feeds = [
        (u'Galicia', u'http://www.farodevigo.es/elementosInt/rss/4'),
        (u'España', u'http://www.farodevigo.es/elementosInt/rss/6'),
        (u'Mundo', u'http://www.farodevigo.es/elementosInt/rss/7'),
        (u'Economía', u'http://www.farodevigo.es/elementosInt/rss/10'),
        (u'Sociedad y Cultura', u'http://www.farodevigo.es/elementosInt/rss/8'),
        (u'Sucesos', u'http://www.farodevigo.es/elementosInt/rss/9'),
        (u'Deportes', u'http://www.farodevigo.es/elementosInt/rss/11'),
        (u'Agenda', u'http://www.farodevigo.es/elementosInt/rss/21'),
        (u'Gente', u'http://www.farodevigo.es/elementosInt/rss/24'),
        (u'Televisión', u'http://www.farodevigo.es/elementosInt/rss/25'),
        (u'Ciencia y Tecnología', u'http://www.farodevigo.es/elementosInt/rss/26')]

    extra_css              = '''.noticia_texto{ font-family: sans-serif; font-size: medium; text-align: justify }
                                h1{font-family: serif; font-size: x-large; font-weight: bold; color: #000000; text-align: center}
                                h2{font-family: serif; font-size: medium; font-weight: bold; color: #000000; text-align: left}
                                .enlacenegrita10{font-family: serif; font-size: small; font-weight: bold; color: #000000; text-align: left}
                                .noticia_titular{font-family: serif; font-size: x-large; font-weight: bold; color: #000000; text-align: center}'''

    def preprocess_html(self, soup):
        for item in soup.findAll(style=True):
            del item['style']

        url = 'http://estaticos00.farodevigo.es//elementosWeb/mediaweb/images/compartir/barrapunto.gif'
        fitem = soup.find('img', src=url)
        if fitem:
            par = fitem.parent
            par.extract()
        url = 'http://estaticos01.farodevigo.es//elementosWeb/mediaweb/images/compartir/barrapunto.gif'
        fitem = soup.find('img', src=url)
        if fitem:
            par = fitem.parent
            par.extract()
        url = 'http://estaticos02.farodevigo.es//elementosWeb/mediaweb/images/compartir/barrapunto.gif'
        fitem = soup.find('img', src=url)
        if fitem:
            par = fitem.parent
            par.extract()

        return self.adeify_images(soup)

    def postprocess_html(self, soup, first_fetch):
        divs = soup.findAll(True, {'class': 'enlacenegrita10'})
        for div in divs:
            div['align'] = 'left'

        return soup

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

    remove_tags = [
        dict(name=['object', 'link', 'script', 'ul', 'iframe', 'ol']), dict(name='div', attrs={'class': [
            'noticiadd2', 'cintillo2', 'noticiadd', 'noticiadd2']}), dict(name='div', attrs={'class': ['imagen_derecha', 'noticiadd3', 'extraHTML']})

    ]
