__license__   = 'GPL v3'
__copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
'''
foxnews.com
'''

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

class FoxNews(BasicNewsRecipe):
    title                 = 'FOX News'
    __author__            = 'Darko Miletic'
    description           = 'Breaking News from FOX'
    publisher             = 'FOXNews.com'
    category              = 'news, breaking news, latest news, current news, world news, national news, USA'
    oldest_article        = 2
    max_articles_per_feed = 200
    no_stylesheets        = True
    encoding              = 'utf8'
    use_embedded_content  = False
    language              = 'en'
    publication_type      = 'newsportal'
    remove_empty_feeds    = True
    extra_css             = ' body{font-family: Arial,sans-serif } img{margin-bottom: 0.4em} .caption{font-size: x-small} '

    preprocess_regexps = [
       (re.compile(r'</title>.*?</head>', re.DOTALL|re.IGNORECASE),lambda match: '</title></head>')
    ]

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

    remove_attributes = ['xmlns']

    keep_only_tags      = [
                            dict(name='div', attrs={'id'   :['story','browse-story-content']})
                           ,dict(name='div', attrs={'class':['posts articles','slideshow']})
                           ,dict(name='h4' , attrs={'class':'storyDate'})
                           ,dict(name='h1' , attrs={'xmlns:functx':'http://www.functx.com'})
                           ,dict(name='div', attrs={'class':'authInfo'})
                           ,dict(name='div', attrs={'id':'articleCont'})
                          ]

    remove_tags = [
                     dict(name='div', attrs={'class':['share-links','quigo quigo2','share-text','storyControls','socShare','btm-links']})
                    ,dict(name='div', attrs={'id'   :['otherMedia','loomia_display','img-all-path','story-vcmId','story-url','pane-browse-story-comments','story_related']})
                    ,dict(name='ul' , attrs={'class':['tools','tools alt','tools alt2','tabs']})
                    ,dict(name='a' , attrs={'class':'join-discussion'})
                    ,dict(name='ul' , attrs={'class':['tools','tools alt','tools alt2']})
                    ,dict(name='p' , attrs={'class':'see_fullarchive'})
                    ,dict(name=['object','embed','link','script'])
                  ]


    feeds = [
              (u'Latest Headlines', u'http://feeds.foxnews.com/foxnews/latest'        )
             ,(u'National'        , u'http://feeds.foxnews.com/foxnews/national'      )
             ,(u'World'           , u'http://feeds.foxnews.com/foxnews/world'         )
             ,(u'Politics'        , u'http://feeds.foxnews.com/foxnews/politics'      )
             ,(u'Business'        , u'http://feeds.foxnews.com/foxnews/business'      )
             ,(u'SciTech'         , u'http://feeds.foxnews.com/foxnews/scitech'       )
             ,(u'Health'          , u'http://feeds.foxnews.com/foxnews/health'        )
             ,(u'Entertainment'   , u'http://feeds.foxnews.com/foxnews/entertainment' )
            ]

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

