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