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