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)
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
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