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

from calibre.web.feeds.news import BasicNewsRecipe

class RBC_ru(BasicNewsRecipe):
    title = u'RBC.ru'
    __author__ = 'A. Chewi'
    description = 'Российское информационное агентство «РосБизнесКонсалтинг» (РБК) - ленты новостей политики, экономики и финансов, аналитические материалы, комментарии и прогнозы, тематические статьи'
    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'
