summary refs log tree commit diff
path: root/synapse/rest/media
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-07-23 14:24:21 +0100
committerErik Johnston <erik@matrix.org>2015-07-23 14:24:21 +0100
commit33d83f36158a98111c3dceb605a40d962a9e5812 (patch)
treeacf97ff2061449eabe75c695e1fc066e484202f2 /synapse/rest/media
parentAlways return a thumbnail of the requested size. (diff)
downloadsynapse-33d83f36158a98111c3dceb605a40d962a9e5812.tar.xz
Fix remote thumbnailing
Diffstat (limited to 'synapse/rest/media')
-rw-r--r--synapse/rest/media/v1/base_resource.py2
-rw-r--r--synapse/rest/media/v1/thumbnail_resource.py16
2 files changed, 11 insertions, 7 deletions
diff --git a/synapse/rest/media/v1/base_resource.py b/synapse/rest/media/v1/base_resource.py
index 00668b3862..74c0cd093c 100644
--- a/synapse/rest/media/v1/base_resource.py
+++ b/synapse/rest/media/v1/base_resource.py
@@ -284,7 +284,7 @@ class BaseMediaResource(Resource):
                 return
 
             t_path = self.filepaths.remote_media_thumbnail(
-                media_id, t_width, t_height, t_type, t_method
+                server_name, file_id, t_width, t_height, t_type, t_method
             )
             self._makedirs(t_path)
 
diff --git a/synapse/rest/media/v1/thumbnail_resource.py b/synapse/rest/media/v1/thumbnail_resource.py
index 58621f45df..9387258a7a 100644
--- a/synapse/rest/media/v1/thumbnail_resource.py
+++ b/synapse/rest/media/v1/thumbnail_resource.py
@@ -131,6 +131,8 @@ class ThumbnailResource(BaseMediaResource):
             server_name, media_id,
         )
 
+        file_id = media_info["filesystem_id"]
+
         for info in thumbnail_infos:
             t_w = info["thumbnail_width"] == desired_width
             t_h = info["thumbnail_height"] == desired_height
@@ -139,20 +141,22 @@ class ThumbnailResource(BaseMediaResource):
 
             if t_w and t_h and t_method and t_type:
                 file_path = self.filepaths.remote_media_thumbnail(
-                    media_id, desired_width, desired_height, desired_type, desired_method,
+                    server_name, file_id, desired_width, desired_height,
+                    desired_type, desired_method,
                 )
                 yield self._respond_with_file(request, desired_type, file_path)
+                return
 
         logger.debug("We don't have a local thumbnail of that size. Generating")
 
         # Okay, so we generate one.
-        path = yield self._generate_remote_exact_thumbnail(
-            server_name, media_id, desired_width, desired_height,
-            desired_method, desired_type
+        file_path = yield self._generate_remote_exact_thumbnail(
+            server_name, file_id, media_id, desired_width,
+            desired_height, desired_method, desired_type
         )
 
-        if path:
-            yield self._respond_with_file(request, t_type, file_path)
+        if file_path:
+            yield self._respond_with_file(request, desired_type, file_path)
         else:
             yield self._respond_default_thumbnail(
                 request, media_info, desired_width, desired_height,