public
Description: Mobile FriendFeed Client
Homepage: http://www.fftogo.com/
Clone URL: git://github.com/bgolub/fftogo.git
fftogo / fftogo / templatetags / fftogo_tags.py
100644 44 lines (36 sloc) 1.205 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from django import template
from google.appengine.api import memcache
 
register = template.Library()
 
@register.filter
def can_edit(value):
    key = 'comment_%s' % value['id']
    return memcache.get(key)
 
@register.filter
def gmpize(value, arg=None):
    if arg:
        if not 'fftogo.com' in value:
            value = 'http://www.google.com/gwt/n?u=%s' % value
        return value
    from BeautifulSoup import BeautifulSoup
    soup = BeautifulSoup(value)
    for a in soup.findAll('a'):
        if not 'fftogo.com' in a['href']:
            a['href'] = 'http://www.google.com/gwt/n?u=%s' % a['href']
    return soup
 
@register.filter
def is_message(value):
    return value['link'] == 'http://friendfeed.com/e/%s' % value['id']
 
@register.filter
def likeable(value, arg):
    if value['anonymous']:
        return True
    return value['user']['nickname'] != arg
 
@register.filter
def liked(value, arg):
    return value in [like['user']['nickname'] for like in arg['likes']]
 
@register.filter
def twitterize(value):
    import re
    for user in re.findall(r'@(\w+)', value):
        value = value.replace('@%s' % user, '@<a href="http://twitter.com/%s">%s</a>' % (user, user))
    return value