diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-08-12 10:54:38 +0100 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-08-12 10:54:38 +0100 |
commit | 7e3d1c7d92157a3cce8ed975f2a982a6a80693d0 (patch) | |
tree | 01c0e4dcd8c1fa6dcd7290b3c433665aa02d5dd0 /synapse/rest/media | |
parent | Factor out thumbnail() (diff) | |
download | synapse-7e3d1c7d92157a3cce8ed975f2a982a6a80693d0.tar.xz |
Make a config option for whether to generate new thumbnail sizes dynamically
Diffstat (limited to '')
-rw-r--r-- | synapse/rest/media/v1/base_resource.py | 1 | ||||
-rw-r--r-- | synapse/rest/media/v1/thumbnail_resource.py | 25 |
2 files changed, 19 insertions, 7 deletions
diff --git a/synapse/rest/media/v1/base_resource.py b/synapse/rest/media/v1/base_resource.py index 093ba847d3..e39729489e 100644 --- a/synapse/rest/media/v1/base_resource.py +++ b/synapse/rest/media/v1/base_resource.py @@ -69,6 +69,7 @@ class BaseMediaResource(Resource): self.filepaths = filepaths self.version_string = hs.version_string self.downloads = {} + self.dynamic_thumbnails = hs.config.dynamic_thumbnails def _respond_404(self, request): respond_with_json( diff --git a/synapse/rest/media/v1/thumbnail_resource.py b/synapse/rest/media/v1/thumbnail_resource.py index 9387258a7a..e506dad934 100644 --- a/synapse/rest/media/v1/thumbnail_resource.py +++ b/synapse/rest/media/v1/thumbnail_resource.py @@ -43,14 +43,25 @@ class ThumbnailResource(BaseMediaResource): m_type = parse_string(request, "type", "image/png") if server_name == self.server_name: - yield self._select_or_generate_local_thumbnail( - request, media_id, width, height, method, m_type - ) + if self.dynamic_thumbnails: + yield self._select_or_generate_local_thumbnail( + request, media_id, width, height, method, m_type + ) + else: + yield self._respond_local_thumbnail( + request, media_id, width, height, method, m_type + ) else: - yield self._select_or_generate_remote_thumbnail( - request, server_name, media_id, - width, height, method, m_type - ) + if self.dynamic_thumbnails: + yield self._select_or_generate_remote_thumbnail( + request, server_name, media_id, + width, height, method, m_type + ) + else: + yield self._respond_remote_thumbnail( + request, server_name, media_id, + width, height, method, m_type + ) @defer.inlineCallbacks def _respond_local_thumbnail(self, request, media_id, width, height, |