Exemple #1
0
 def item_description(self, post):
     key = 'blog_feed:%d' % post.id
     summary = cache.get(key)
     if summary is None:
         summary = unicode(markdown(post.summary or post.content, 'blog'))
         cache.set(key, summary, 86400)
     return summary
Exemple #2
0
 def item_description(self, problem):
     key = 'problem_feed:%d' % problem.id
     desc = cache.get(key)
     if desc is None:
         desc = unicode(markdown(problem.description, 'problem'))[:500] + '...'
         cache.set(key, desc, 86400)
     return desc
Exemple #3
0
 def item_description(self, comment):
     key = 'comment_feed:%d' % comment.id
     desc = cache.get(key)
     if desc is None:
         desc = unicode(markdown(comment.body, 'comment'))
         cache.set(key, desc, 86400)
     return desc
Exemple #4
0
 def item_description(self, post):
     key = 'blog_feed:%d' % post.id
     summary = cache.get(key)
     if summary is None:
         summary = str(markdown(post.summary or post.content, 'blog'))
         summary = escape_xml_illegal_chars(summary)
         cache.set(key, summary, 86400)
     return summary
Exemple #5
0
 def item_description(self, comment):
     key = 'comment_feed:%d' % comment.id
     desc = cache.get(key)
     if desc is None:
         desc = str(markdown(comment.body, 'comment'))
         desc = escape_xml_illegal_chars(desc)
         cache.set(key, desc, 86400)
     return desc
Exemple #6
0
 def item_description(self, problem):
     key = 'problem_feed:%d' % problem.id
     desc = cache.get(key)
     if desc is None:
         desc = str(markdown(problem.description, 'problem'))[:500] + '...'
         desc = escape_xml_illegal_chars(desc)
         cache.set(key, desc, 86400)
     return desc
Exemple #7
0
def generate_opengraph(cache_key, data, style):
    metadata = cache.get(cache_key)
    if metadata is None:
        description = None
        tree = reference(markdown(data, style)).tree
        for p in tree.iterfind('.//p'):
            text = p.text_content().strip()
            if text:
                description = text
                break
        if description:
            for remove in (r'\[', r'\]', r'\(', r'\)'):
                description = description.replace(remove, '')
        img = tree.xpath('.//img')
        metadata = truncatewords(description, 60), img[0].get('src') if img else None
        cache.set(cache_key, metadata, 86400)
    return metadata
def generate_opengraph(cache_key, data, style):
    metadata = cache.get(cache_key)
    if metadata is None:
        description = None
        tree = reference(markdown(data, style)).tree
        for p in tree.iterfind('.//p'):
            text = p.text_content().strip()
            if text:
                description = text
                break
        if description:
            for remove in (r'\[', r'\]', r'\(', r'\)'):
                description = description.replace(remove, '')
        img = tree.xpath('.//img')
        metadata = truncatewords(description,
                                 60), img[0].get('src') if img else None
        cache.set(cache_key, metadata, 86400)
    return metadata