home *** CD-ROM | disk | FTP | other *** search
- 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;}
- '''
-
-