from calibre.web.feeds.news import BasicNewsRecipe


class AdvancedUserRecipe1303841067(BasicNewsRecipe):

    title = u'Express.de'
    __author__ = 'schuster'
    oldest_article = 2
    max_articles_per_feed = 50
    no_stylesheets = True
    use_embedded_content = False
    language = 'de'
    extra_css = '''
                    h2{font-family:Arial,Helvetica,sans-serif; font-size: x-small;}
                    h1{ font-family:Arial,Helvetica,sans-serif;  font-size:x-large; font-weight:bold;}
                '''
    remove_javascript = True
    remove_tags_befor = [dict(name='div', attrs={'class': 'Datum'})]
    remove_tags_after = [dict(name='div', attrs={'class': 'MoreNews'})]

    remove_tags = [dict(id='kalaydo'),
                   dict(id='Header'),
                   dict(id='Searchline'),
                   dict(id='MainNav'),
                   dict(id='Logo'),
                   dict(id='MainLinkSpacer'),
                   dict(id='MainLinks'),
                   dict(id='ContainerPfad'),  # neu
                   dict(title='Diese Seite Bookmarken'),

                   dict(name='span'),
                   dict(name='div', attrs={'class': 'spacer_leftneu'}),
                   dict(name='div', attrs={'class': 'button kalaydologo'}),
                   dict(name='div', attrs={'class': 'button stellenneu'}),
                   dict(name='div', attrs={'class': 'button autoneu'}),
                   dict(name='div', attrs={'class': 'button immobilienneu'}),
                   dict(name='div', attrs={'class': 'button kleinanzeigen'}),
                   dict(name='div', attrs={'class': 'button tiereneu'}),
                   dict(name='div', attrs={'class': 'button ferienwohnungen'}),
                   dict(name='div', attrs={'class': 'button inserierenneu'}),
                   dict(name='div', attrs={'class': 'spacer_rightneu'}),
                   dict(name='div', attrs={'class': 'spacer_rightcorner'}),
                   dict(name='div', attrs={'class': 'HeaderMetaNav'}),
                   dict(name='div', attrs={'class': 'HeaderSearchOption'}),
                   dict(name='div', attrs={'class': 'HeaderSearch'}),
                   dict(name='div', attrs={'class': 'sbutton'}),
                   dict(name='div', attrs={'class': 'active'}),
                   dict(name='div', attrs={'class': 'MoreNews'}),  # neu
                   dict(name='div', attrs={
                        'class': 'ContentBoxSubline'})  # neu
                   ]

    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

    feeds = [(u'Top-Themen', u'http://www.express.de/home/-/2126/2126/-/view/asFeed/-/index.xml'),
             (u'Regional - Köln',
              u'http://www.express.de/regional/koeln/-/2856/2856/-/view/asFeed/-/index.xml'),
             (u'Regional - Bonn',
              u'http://www.express.de/regional/bonn/-/2860/2860/-/view/asFeed/-/index.xml'),
             (u'Regional - Düsseldorf',
              u'http://www.express.de/regional/duesseldorf/-/2858/2858/-/view/asFeed/-/index.xml'),
             (u'Regional - Region',
              u'http://www.express.de/regional/-/2178/2178/-/view/asFeed/-/index.xml'),
             (u'Sport-News', u'http://www.express.de/sport/-/2176/2176/-/view/asFeed/-/index.xml'),
             (u'Fussball-News', u'http://www.express.de/sport/fussball/-/3186/3186/-/view/asFeed/-/index.xml'),
             (u'1.FC Köln News', u'http://www.express.de/sport/fussball/fc-koeln/-/3192/3192/-/view/asFeed/-/index.xml'),
             (u'Alemannia Aachen News',
              u'http://www.express.de/sport/fussball/alemannia/-/3290/3290/-/view/asFeed/-/index.xml'),
             (u'Borussia M~Gladbach',
              u'http://www.express.de/sport/fussball/gladbach/-/3286/3286/-/view/asFeed/-/index.xml'),
             (u'Fortuna D~Dorf', u'http://www.express.de/sport/fussball/fortuna/-/3292/3292/-/view/asFeed/-/index.xml'),
             (u'Basketball News',
              u'http://www.express.de/sport/basketball/-/3190/3190/-/view/asFeed/-/index.xml'),
             (u'Big Brother', u'http://www.express.de/news/promi-show/big-brother/-/2402/2402/-/view/asFeed/-/index.xml'),
             ]
