Exemple #1
0
def serve_user_avatar_source(request, user_id, secret, hash):
    fallback_avatar = get_blank_avatar_file(min(settings.MISAGO_AVATARS_SIZES))
    User = get_user_model()

    if user_id > 0:
        try:
            user = User.objects.get(id=user_id)

            tokens = store.get_user_avatar_tokens(user)
            suffix = tokens.get(secret)
            if suffix:
                avatar_file = get_user_avatar_file(user.pk, suffix)
            else:
                avatar_file = fallback_avatar
        except User.DoesNotExist:
            avatar_file = fallback_avatar
    else:
        avatar_file = fallback_avatar

    if avatar_file == fallback_avatar:
        avatar_dir = store.get_avatars_dir_path()
    else:
        avatar_dir = store.get_avatars_dir_path(user_id)

    avatar_path = os.path.join(avatar_dir, avatar_file)
    return make_file_response(avatar_path, 'image/png')
Exemple #2
0
def serve_user_avatar(request, user_id, size):
    size = clean_size(size)

    if int(user_id) > 0:
        avatar_dir = store.get_avatars_dir_path(user_id)
        avatar_file = get_user_avatar_file(user_id, size)
        avatar_path = os.path.join(avatar_dir, avatar_file)

        if path(avatar_path).exists():
            avatar_path = os.path.join(avatar_dir, avatar_file)
            return make_file_response(avatar_path, 'image/png')
        else:
            return serve_blank_avatar(request, size)
    else:
        return serve_blank_avatar(request, size)
Exemple #3
0
def serve_blank_avatar(request, size):
    size = clean_size(size)
    avatar_dir = store.get_avatars_dir_path()
    avatar_file = get_blank_avatar_file(size)
    avatar_path = os.path.join(avatar_dir, avatar_file)
    return make_file_response(avatar_path, 'image/png')