Exemple #1
0
    def test_send_file(self):
        """send file produces valid response"""
        with self.settings(MISAGO_SENDFILE_HEADER='X-Test'):
            response = fileserver.make_file_response(__file__, 'text/python')
            self.assertTrue(isinstance(response, HttpResponse))
            self.assertEqual(response['X-Test'], __file__)

        with self.settings(MISAGO_SENDFILE_HEADER=''):
            response = fileserver.make_file_response(__file__, 'text/python')
            self.assertTrue(isinstance(response, StreamingHttpResponse))
Exemple #2
0
    def test_send_file(self):
        """send file produces valid response"""
        with self.settings(MISAGO_SENDFILE_HEADER="X-Test"):
            response = fileserver.make_file_response(__file__, "text/python")
            self.assertTrue(isinstance(response, HttpResponse))
            self.assertEqual(response["X-Test"], __file__)

        with self.settings(MISAGO_SENDFILE_HEADER=""):
            response = fileserver.make_file_response(__file__, "text/python")
            self.assertTrue(isinstance(response, StreamingHttpResponse))
Exemple #3
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 #4
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 #5
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')