# -*- coding: utf-8 -*-

from calibre.web.feeds.news import BasicNewsRecipe


class RBC_ru(BasicNewsRecipe):
    title = u'RBC.ru'
    __author__ = 'A. Chewi'
    description = u'Российское информационное агентство «РосБизнесКонсалтинг» (РБК) - ленты новостей политики, экономики и финансов, аналитические материалы, комментарии и прогнозы, тематические статьи'  # noqa
    needs_subscription = False
    cover_url = 'http://pics.rbc.ru/img/fp_v4/skin/img/logo.gif'
    cover_margins = (80, 160, '#ffffff')
    oldest_article = 10
    max_articles_per_feed = 50
    summary_length = 200
    remove_empty_feeds = True
    no_stylesheets = True
    remove_javascript = True
    use_embedded_content = False
    conversion_options = {'linearize_tables': True}
    language = 'ru'
    timefmt = ' [%a, %d %b, %Y]'

    feeds = [(u'Главные новости', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/mainnews.rss'),
             (u'Политика', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/politics.rss'),
             (u'Экономика', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/economics.rss'),
             (u'Общество', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/society.rss'),
             (u'Происшествия', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/incidents.rss'),
             (u'Финансовые новости Quote.rbc.ru', u'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/quote.ru/mainnews.rss')]

    keep_only_tags = [dict(name='h2', attrs={}),
                      dict(name='div', attrs={'class': 'box _ga1_on_'}),
                      dict(name='h1', attrs={'class': 'news_section'}),
                      dict(name='div', attrs={
                           'class': 'news_body dotted_border_bottom'}),
                      dict(name='table', attrs={'class': 'newsBody'}),
                      dict(name='h2', attrs={'class': 'black'})]

    remove_tags = [dict(name='div', attrs={'class': "video-frame"}),
                   dict(name='div', attrs={
                        'class': "photo-container videoContainer videoSWFLinks videoPreviewSlideContainer notes"}),
                   dict(name='div', attrs={'class': "notes"}),
                   dict(name='div', attrs={'class': "publinks"}),
                   dict(name='a', attrs={'class': "print"}),
                   dict(name='div', attrs={
                        'class': "photo-report_new notes newslider"}),
                   dict(name='div', attrs={'class': "videoContainer"}),
                   dict(name='div', attrs={
                        'class': "videoPreviewSlideContainer"}),
                   dict(name='a', attrs={'class': "videoPreviewContainer"}),
                   dict(name='a', attrs={'class': "red"}), ]

    def preprocess_html(self, soup):
        for alink in soup.findAll('a'):
            if alink.string is not None:
                tstr = alink.string
                alink.replaceWith(tstr)
        return soup

    def print_version(self, url):
        return url + '?print=true'
