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

from calibre.web.feeds.news import BasicNewsRecipe

class ElPais_RSS(BasicNewsRecipe):
    title                 = 'El Pais'
    __author__            = 'Darko Miletic'
    description           = 'el periodico global en Castellano'
    publisher             = 'EDICIONES EL PAIS, S.L.'
    category              = 'news, politics, finances, world, spain'
    oldest_article        = 2
    max_articles_per_feed = 200
    no_stylesheets        = True
    encoding              = 'cp1252'
    use_embedded_content  = False
    language              = 'es'
    remove_empty_feeds    = True
    publication_type      = 'newspaper'
    masthead_url          = 'http://www.elpais.com/im/tit_logo.gif'
    extra_css             = """
                               body{font-family: Georgia,"Times New Roman",Times,serif }
                               h3{font-family: Arial,Helvetica,sans-serif}
                               img{margin-bottom: 0.4em; display:block}
                            """

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

    keep_only_tags    = [dict(attrs={'class':['cabecera_noticia estirar','cabecera_noticia','','contenido_noticia']})]
    remove_tags       = [
                           dict(name=['meta','link','base','iframe','embed','object'])
                          ,dict(attrs={'class':['info_complementa','estructura_2col_der','votos estirar','votos']})
                          ,dict(attrs={'id':'utilidades'})
                        ]
    remove_tags_after = dict(attrs={'id':'utilidades'})
    remove_attributes = ['lang','border','width','height']

    feeds = [
              (u'Lo ultimo'            , u'http://www.elpais.com/rss/feed.html?feedId=17046')
             ,(u'America Latina'       , u'http://www.elpais.com/rss/feed.html?feedId=17041')
             ,(u'Mexico'               , u'http://www.elpais.com/rss/feed.html?feedId=17042')
             ,(u'Europa'               , u'http://www.elpais.com/rss/feed.html?feedId=17043')
             ,(u'Estados Unidos'       , u'http://www.elpais.com/rss/feed.html?feedId=17044')
             ,(u'Oriente proximo'      , u'http://www.elpais.com/rss/feed.html?feedId=17045')
             ,(u'Espana'               , u'http://www.elpais.com/rss/feed.html?feedId=1002' )
             ,(u'Andalucia'            , u'http://www.elpais.com/rss/feed.html?feedId=17057')
             ,(u'Catalunia'            , u'http://www.elpais.com/rss/feed.html?feedId=17059')
             ,(u'Comunidad Valenciana' , u'http://www.elpais.com/rss/feed.html?feedId=17061')
             ,(u'Madrid'               , u'http://www.elpais.com/rss/feed.html?feedId=1016' )
             ,(u'Pais Vasco'           , u'http://www.elpais.com/rss/feed.html?feedId=17062')
             ,(u'Galicia'              , u'http://www.elpais.com/rss/feed.html?feedId=17063')
             ,(u'Opinion'              , u'http://www.elpais.com/rss/feed.html?feedId=1003' )
             ,(u'Sociedad'             , u'http://www.elpais.com/rss/feed.html?feedId=1004' )
             ,(u'Deportes'             , u'http://www.elpais.com/rss/feed.html?feedId=1007' )
             ,(u'Cultura'              , u'http://www.elpais.com/rss/feed.html?feedId=1008' )
             ,(u'Cine'                 , u'http://www.elpais.com/rss/feed.html?feedId=17052')
             ,(u'Literatura'           , u'http://www.elpais.com/rss/feed.html?feedId=17053')
             ,(u'Musica'               , u'http://www.elpais.com/rss/feed.html?feedId=17051')
             ,(u'Arte'                 , u'http://www.elpais.com/rss/feed.html?feedId=17060')
             ,(u'Tecnologia'           , u'http://www.elpais.com/rss/feed.html?feedId=1005' )
             ,(u'Economia'             , u'http://www.elpais.com/rss/feed.html?feedId=1006' )
             ,(u'Ciencia'              , u'http://www.elpais.com/rss/feed.html?feedId=17068')
             ,(u'Salud'                , u'http://www.elpais.com/rss/feed.html?feedId=17074')
             ,(u'Ocio'                 , u'http://www.elpais.com/rss/feed.html?feedId=17075')
             ,(u'Justicia y Leyes'     , u'http://www.elpais.com/rss/feed.html?feedId=17069')
             ,(u'Guerras y conflictos' , u'http://www.elpais.com/rss/feed.html?feedId=17070')
             ,(u'Politica'             , u'http://www.elpais.com/rss/feed.html?feedId=17073')
            ]

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

    def preprocess_html(self, soup):
        for item in soup.findAll(style=True):
            del item['style']
        for item in soup.findAll('a'):
            if item.string is not None:
               tstr = item.string
               item.replaceWith(tstr)
            else:
               item.name='span'
               for atrs in ['href','target','alt','title']:
                   if item.has_key(atrs):
                      del item[atrs]
        for item in soup.findAll('img',alt=False):
            item['alt'] = 'image'
        return soup
