#!/usr/bin/env python
__license__ = 'GPL v3'
__author__ = 'Tony Stegall'
__copyright__ = '2010, Tony Stegall or Tonythebookworm on mobileread.com'
__version__ = '1'
__date__ = '01, October 2010'
__docformat__ = 'English'


from calibre.web.feeds.recipes import BasicNewsRecipe


class MedScrape(BasicNewsRecipe):

    title = 'MedScape'
    __author__ = 'Tony Stegall'
    description = 'Nursing News'
    language = 'en'
    timefmt = ' [%a, %d %b, %Y]'
    needs_subscription = True
    masthead_url = 'http://images.medscape.com/pi/global/header/sp/bg-sp-medscape.gif'
    no_stylesheets = True
    remove_javascript = True
    conversion_options = {'linearize_tables': True}
    extra_css = '''
                    h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}


                    p.authors{text-align:right; font-size:small;margin-top:0px;margin-bottom: 0px;}
                    p.postingdate{text-align:right; font-size:small;margin-top:0px;margin-bottom: 0px;}
                    h2{text-align:right; font-size:small;margin-top:0px;margin-bottom: 0px;}


                    p{font-family:Helvetica,Arial,sans-serif;font-size:small;}
    '''

    remove_tags = [dict(name='div', attrs={'class': ['closewindow2']}),
                   dict(name='div', attrs={'id': ['basicheaderlinks']})
                   ]

    def get_browser(self):
        br = BasicNewsRecipe.get_browser(self)
        if self.username is not None and self.password is not None:
            br.open('https://profreg.medscape.com/px/getlogin.do')
            br.select_form(name='LoginForm')
            br['userId'] = self.username
            br['password'] = self.password
            br.submit()
        return br

    feeds = [
        ('MedInfo', 'http://www.medscape.com/cx/rssfeeds/2685.xml'),
    ]

    def print_version(self, url):
        # the original url is: http://www.medscape.com/viewarticle/728955?src=rss
        # the print    url is: http://www.medscape.com/viewarticle/728955_print
        print_url = url.partition('?')[0] + '_print'
        # print 'the printable version is: ',print_url
        return print_url

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