from calibre.web.feeds.news import BasicNewsRecipe class Pikoboard(BasicNewsRecipe): title = u'Pikoboard.pl' __author__ = 'fenuks' description = u'Portal poświęcony takim urządzeniom jak: Raspberry Pi, XBMC, ODROID-X, BeagleBoard czy CuBox. Systemy operacyjne, modyfikacje oraz obudowy i innego rodzaju dodatki.' # noqa category = 'IT, open source, Linux, Raspberry Pi' language = 'pl' cover_url = 'http://picoboard.pl/wp-content/themes/portal/img/logo.jpg' extra_css = 'img.alignleft {float: left; margin-right: 5px;}' oldest_article = 7 max_articles_per_feed = 100 no_stylesheets = True remove_empty_feeds = True use_embedded_content = False keep_only_tags = [dict(id=['dzial', 'posts'])] remove_tags = [dict(attrs={'class': 'post-comments'})] remove_tags_after = dict(attrs={'class': 'entry clr'}) feeds = [(u'Newsy', u'http://picoboard.pl/feed/atom/'), (u'Artyku\u0142y', u'http://picoboard.pl/category/artykuly/feed/')] def append_page(self, soup, appendtag): tag = appendtag.find(attrs={'id': 'paginacja'}) if tag: for nexturl in tag.findAll('a'): soup2 = self.index_to_soup(nexturl['href']) pagetext = soup2.find(attrs={'class': 'entry clr'}) pos = len(appendtag.contents) appendtag.insert(pos, pagetext) for r in appendtag.findAll(attrs={'id': 'paginacja'}): r.extract() def preprocess_html(self, soup): self.append_page(soup, soup.body) return soup