Ejemplo n.º 1
0
def grp_avatar(group_id, size=GROUP_AVATAR_DEFAULT_SIZE):
    # Get from cache
    key = get_grp_cache_key(group_id, size)
    val = cache.get(key)
    if val:
        return format_html(val)

    # Get from DB, and refresh cache
    grp_avatars = GroupAvatar.objects.filter(group_id=group_id)
    if grp_avatars:
        avatar = grp_avatars.order_by('-date_uploaded')[0]
    else:
        avatar = None

    if avatar:
        try:
            if not avatar.thumbnail_exists(size):
                avatar.create_thumbnail(size)
            url = avatar.avatar_url(size)
        except Exception as e:
            # Catch exceptions to avoid 500 errors.
            logger.error(e)
            url = get_default_group_avatar_url()
    else:
        url = get_default_group_avatar_url()

    img = """<img src="%s" alt="" width="%s" height="%s" class="avatar" />""" % (url, size, size)
    cache.set(key, img, AVATAR_CACHE_TIMEOUT)
    return format_html(img)
Ejemplo n.º 2
0
def grp_avatar(group_id, size=GROUP_AVATAR_DEFAULT_SIZE):
    # Get from cache
    key = get_grp_cache_key(group_id, size)
    val = cache.get(key)
    if val:
        return val

    # Get from DB, and refresh cache
    grp_avatars = GroupAvatar.objects.filter(group_id=group_id)
    if grp_avatars:
        avatar = grp_avatars.order_by('-date_uploaded')[0]
    else:
        avatar = None

    if avatar:
        try:
            if not avatar.thumbnail_exists(size):
                avatar.create_thumbnail(size)
            url = avatar.avatar_url(size)
        except Exception as e:
            # Catch exceptions to avoid 500 errors.
            logger.error(e)
            url = get_default_group_avatar_url()
    else:
        url = get_default_group_avatar_url()

    img = """<img src="%s" alt="" width="%s" height="%s" class="avatar" />""" % (url, size, size)
    cache.set(key, img, AVATAR_CACHE_TIMEOUT)
    return img
Ejemplo n.º 3
0
def api_grp_avatar_url(group_id, size=GROUP_AVATAR_DEFAULT_SIZE):
    key = get_grp_cache_key(group_id, size)
    val = cache.get(key)
    if val:
        return val.avatar_url(size), False, val.date_uploaded

    # Get from DB, and refresh cache
    grp_avatars = GroupAvatar.objects.filter(group_id=group_id)
    if grp_avatars:
        avatar = grp_avatars.order_by('-date_uploaded')[0]
    else:
        avatar = None

    if avatar:
        if not avatar.thumbnail_exists(size):
            avatar.create_thumbnail(size)
        return avatar.avatar_url(size), False, avatar.date_uploaded
    else:
        return get_default_group_avatar_url(), True, None
Ejemplo n.º 4
0
def api_grp_avatar_url(group_id, size=GROUP_AVATAR_DEFAULT_SIZE):
    key = get_grp_cache_key(group_id, size)
    val = cache.get(key)
    if val:
        return val.avatar_url(size), False, val.date_uploaded

    # Get from DB, and refresh cache
    grp_avatars = GroupAvatar.objects.filter(group_id=group_id)
    if grp_avatars:
        avatar = grp_avatars.order_by('-date_uploaded')[0]
    else:
        avatar = None

    if avatar:
        if not avatar.thumbnail_exists(size):
            avatar.create_thumbnail(size)
        return avatar.avatar_url(size), False, avatar.date_uploaded
    else:
        return get_default_group_avatar_url(), True, None