__license__   = 'GPL v3'
__copyright__ = '2008-2010, Darko Miletic <darko.miletic at gmail.com>'
'''
danas.rs
'''

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

class Danas(BasicNewsRecipe):
    title                 = 'Danas'
    __author__            = 'Darko Miletic'
    description           = 'Dnevne novine sa vestima iz sveta, politike, ekonomije, kulture, sporta, Beograda, Novog Sada i cele Srbije.'
    publisher             = 'Danas d.o.o.'
    category              = 'news, politics, Serbia'
    oldest_article        = 2
    max_articles_per_feed = 100
    no_stylesheets        = False
    use_embedded_content  = False
    encoding              = 'utf-8'
    masthead_url          = 'http://www.danas.rs/images/basic/danas.gif'
    language              = 'sr'
    publication_type      = 'newspaper'
    remove_empty_feeds    = True
    extra_css             = """ @font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
                                @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)}
                                .article_description,body,.lokacija{font-family: Tahoma,Arial,Helvetica,sans1,sans-serif}
                                .nadNaslov,h1,.preamble{font-family: Georgia,"Times New Roman",Times,serif1,serif}
                                .antrfileText{border-left: 2px solid #999999; margin-left: 0.8em; padding-left: 1.2em;
                                margin-bottom: 0; margin-top: 0} h2,.datum,.lokacija,.autor{font-size: small}
                                .antrfileNaslov{border-left: 2px solid #999999; margin-left: 0.8em; padding-left: 1.2em;
                                font-weight:bold; margin-bottom: 0; margin-top: 0} img{margin-bottom: 0.8em} """

    conversion_options = {
                          'comment'          : description
                        , 'tags'             : category
                        , 'publisher'        : publisher
                        , 'language'         : language
                        }

    preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]

    keep_only_tags     = [dict(name='div', attrs={'id':'left'})]
    remove_tags = [
                     dict(name='div', attrs={'class':['width_1_4','metaClanka','baner']})
                    ,dict(name='div', attrs={'id':'comments'})
                    ,dict(name=['object','link','iframe'])
                  ]

    feeds          = [
                        (u'Politika'             , u'http://www.danas.rs/rss/rss.asp?column_id=27')
                       ,(u'Hronika'              , u'http://www.danas.rs/rss/rss.asp?column_id=2' )
                       ,(u'Drustvo'              , u'http://www.danas.rs/rss/rss.asp?column_id=24')
                       ,(u'Dijalog'              , u'http://www.danas.rs/rss/rss.asp?column_id=1' )
                       ,(u'Ekonomija'            , u'http://www.danas.rs/rss/rss.asp?column_id=6' )
                       ,(u'Svet'                 , u'http://www.danas.rs/rss/rss.asp?column_id=25')
                       ,(u'Srbija'               , u'http://www.danas.rs/rss/rss.asp?column_id=28')
                       ,(u'Kultura'              , u'http://www.danas.rs/rss/rss.asp?column_id=5' )
                       ,(u'Sport'                , u'http://www.danas.rs/rss/rss.asp?column_id=13')
                       ,(u'Scena'                , u'http://www.danas.rs/rss/rss.asp?column_id=42')
                       ,(u'Feljton'              , u'http://www.danas.rs/rss/rss.asp?column_id=19')
                       ,(u'Periskop'             , u'http://www.danas.rs/rss/rss.asp?column_id=4' )
                       ,(u'Famozno'              , u'http://www.danas.rs/rss/rss.asp?column_id=47')
                       ,(u'Sluzbena beleska'     , u'http://www.danas.rs/rss/rss.asp?column_id=48')
                       ,(u'Suocavanja'           , u'http://www.danas.rs/rss/rss.asp?column_id=49')
                       ,(u'Moj Izbor'            , u'http://www.danas.rs/rss/rss.asp?column_id=50')
                       ,(u'Direktno'             , u'http://www.danas.rs/rss/rss.asp?column_id=51')
                       ,(u'I tome slicno'        , u'http://www.danas.rs/rss/rss.asp?column_id=52')
                       ,(u'No longer and not yet', u'http://www.danas.rs/rss/rss.asp?column_id=53')
                       ,(u'Resetovanje'          , u'http://www.danas.rs/rss/rss.asp?column_id=54')
                       ,(u'Iza scene'            , u'http://www.danas.rs/rss/rss.asp?column_id=60')
                       ,(u'Drustvoslovlje'       , u'http://www.danas.rs/rss/rss.asp?column_id=55')
                       ,(u'Zvaka u pepeljari'    , u'http://www.danas.rs/rss/rss.asp?column_id=56')
                       ,(u'Vostani Serbie'       , u'http://www.danas.rs/rss/rss.asp?column_id=57')
                       ,(u'Med&Jad-a'            , u'http://www.danas.rs/rss/rss.asp?column_id=58')
                       ,(u'Svetlosti pozornice'  , u'http://www.danas.rs/rss/rss.asp?column_id=59')
                     ]

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

    def print_version(self, url):
        return url + '&action=print'

    def get_cover_url(self):
        cover_url = None
        soup = self.index_to_soup('http://www.danas.rs/')
        for citem in soup.findAll('img'):
            if citem['src'].endswith('naslovna.jpg'):
               return 'http://www.danas.rs' + citem['src']
        return cover_url
