def get_rss_news(self, context): url = getattr(context.site_root, 'backoffice_rss_news_uri', None) if url is None: return [] # Flux de news RSS try: f = urlopen(url) except Exception: return [] try: feed = RSSFile(string=f.read()) except (XMLError, IndexError): return [] rss_news = [] for item in feed.items[:5]: item['ago'] = datetime_to_ago(item['pubDate']) if item.get('pubDate'): item['pubDate'] = format_date(item['pubDate'], context.accept_language) else: item['pubDate'] = None item['description'] = XMLParser( item['description'].encode('utf-8')) rss_news.append(item) return rss_news
def get_last_resources(self, context, class_id, quantity=5): here_abspath = context.resource.get_abspath() root = context.root search = root.search(format=class_id) resources = search.get_documents(sort_by='mtime', reverse=True)[:quantity] resources = [{'name': x.name, 'title': x.title, 'ago': datetime_to_ago(x.mtime), 'link': here_abspath.get_pathto(x.abspath)} for x in resources] return resources
def get_last_resources(self, context, class_id, quantity=5): here_abspath = context.resource.get_abspath() root = context.root search = root.search(format=class_id) resources = search.get_documents(sort_by='mtime', reverse=True)[:quantity] resources = [{ 'name': x.name, 'title': x.title, 'ago': datetime_to_ago(x.mtime), 'link': here_abspath.get_pathto(x.abspath) } for x in resources] return resources
def get_rss_news(self, context): url = getattr(context.site_root, 'backoffice_rss_news_uri', None) if url is None: return [] # Flux de news RSS try: f = urlopen(url) except Exception: return [] try: feed = RSSFile(string=f.read()) except (XMLError, IndexError): return [] rss_news = [] for item in feed.items[:5]: item['ago'] = datetime_to_ago(item['pubDate']) if item.get('pubDate'): item['pubDate'] = format_date(item['pubDate'], context.accept_language) else: item['pubDate'] = None item['description'] = XMLParser(item['description'].encode('utf-8')) rss_news.append(item) return rss_news