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

from calibre.web.feeds.news import BasicNewsRecipe

class TelegraphUK(BasicNewsRecipe):
    title                 = 'Telegraph.co.uk'
    __author__            = 'Darko Miletic and Sujata Raman'
    description           = 'News from United Kingdom'
    oldest_article        = 2
    category              = 'news, politics, UK'
    publisher             = 'Telegraph Media Group ltd.'
    compress_news_images  = True
    max_articles_per_feed = 100
    no_stylesheets        = True
    language              = 'en_GB'
    remove_empty_feeds    = True
    use_embedded_content  = False

    extra_css           = '''
                        h1{font-family :Arial,Helvetica,sans-serif; font-size:large; }
                        h2{font-family :Arial,Helvetica,sans-serif; font-size:x-small; color:#444444;}
                        .story{font-family :Arial,Helvetica,sans-serif; font-size: x-small;}
                        .byline{color:#666666; font-family :Arial,Helvetica,sans-serif; font-size: xx-small;}
                        a{color:#234B7B; }
                        .imageExtras{color:#666666; font-family :Arial,Helvetica,sans-serif; font-size: xx-small;}
                        '''

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

    keep_only_tags      = [
                           dict(name='div', attrs={'class':['storyHead','byline']})
                          ,dict(name='div', attrs={'id':'mainBodyArea'})
                          ]
    remove_tags         = [dict(name='div', attrs={
        'class':['related_links_inline',"imgindex","next","prev","gutterUnder",'ssImgHide','imageExtras','ssImg hide','related_links_video']})
                          ,dict(name='ul' , attrs={'class':['shareThis shareBottom']})
                          ,dict(name='span', attrs={'class':['num','placeComment']})
                          ]

    feeds               = [
                         (u'UK News'        , u'http://www.telegraph.co.uk/news/uknews/rss')
                        ,(u'World News'     , u'http://www.telegraph.co.uk/news/worldnews/rss')
                        ,(u'Politics'       , u'http://www.telegraph.co.uk/news/newstopics/politics/rss')
                        ,(u'Finance'        , u'http://www.telegraph.co.uk/finance/rss')
                        ,(u'Technology News', u'http://www.telegraph.co.uk/scienceandtechnology/technology/technologynews/rss')
                        ,(u'UK News'        , u'http://www.telegraph.co.uk/scienceandtechnology/technology/technologyreviews/rss')
                        ,(u'Science News'   , u'http://www.telegraph.co.uk/scienceandtechnology/science/sciencenews/rss')
                        ,(u'Sport'          , u'http://www.telegraph.co.uk/sport/rss')
                        ,(u'Earth News'     , u'http://www.telegraph.co.uk/earth/earthnews/rss')
                        ,(u'Comment'        , u'http://www.telegraph.co.uk/comment/rss')
                        ,(u'Travel'        , u'http://www.telegraph.co.uk/travel/rss')
                        ,(u'How about that?', u'http://www.telegraph.co.uk/news/newstopics/howaboutthat/rss')
                         ]
    def populate_article_metadata(self, article, soup, first):
        if first and hasattr(self, 'add_toc_thumbnail'):
            picdiv = soup.find('img')
            if picdiv is not None:
                self.add_toc_thumbnail(article,picdiv['src'])

    def get_article_url(self, article):
        url = article.get('link', None)
        if 'picture-galleries' in url or 'pictures' in url or 'picturegalleries' in url :
            url = None
        return url

