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


class DrawAndCook(BasicNewsRecipe):
    title = 'DrawAndCook'
    __author__ = 'Starson17'
    __version__ = 'v1.10'
    __date__ = '13 March 2011'
    description = 'Drawings of recipes!'
    language = 'en'
    publisher = 'Starson17'
    category = 'news, food, recipes'
    use_embedded_content = False
    no_stylesheets = True
    oldest_article = 24
    remove_javascript = True
    remove_empty_feeds = True
    cover_url = 'http://farm5.static.flickr.com/4043/4471139063_4dafced67f_o.jpg'
    INDEX = 'http://www.theydrawandcook.com'
    max_articles_per_feed = 30

    remove_attributes = ['style', 'font']

    def parse_index(self):
        feeds = []
        for title, url in [
            ("They Draw and Cook", "http://www.theydrawandcook.com/")
        ]:
            articles = self.make_links(url)
            if articles:
                feeds.append((title, articles))
        print 'feeds are: ', feeds
        return feeds

    def make_links(self, url):
        soup = self.index_to_soup(url)
        title = ''
        date = ''
        current_articles = []
        soup = self.index_to_soup(url)
        featured_major_slider = soup.find(
            name='div', attrs={'id': 'featured_major_slider'})
        recipes = featured_major_slider.findAll(
            'li', attrs={'data-id': re.compile(r'artwork_entry_\d+', re.DOTALL)})
        for recipe in recipes:
            page_url = self.INDEX + recipe.a['href']
            print 'page_url is: ', page_url
            title = recipe.find('strong').string
            print 'title is: ', title
            current_articles.append(
                {'title': title, 'url': page_url, 'description': '', 'date': date})
        return current_articles

    keep_only_tags = [dict(name='h1', attrs={'id': 'page_title'}), dict(name='section', attrs={'id': 'artwork'})
                      ]

    remove_tags = [dict(name='article', attrs={'id': ['recipe_actions', 'metadata']})
                   ]

    extra_css = '''
                    h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
                    h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
                    img {max-width:100%; min-width:100%;}
                    p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
    '''
