summary refs log tree commit diff
path: root/synapse/media/v1/upload_resource.py
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2014-12-10 14:46:55 +0000
committerMark Haines <mark.haines@matrix.org>2014-12-10 15:40:52 +0000
commitcc84d3ea78eaf50c20ad84b3df99ecf4547e08a8 (patch)
tree6099f833203e419f84a889a792120588657ffa7e /synapse/media/v1/upload_resource.py
parentAdd a method field to thumbnail storage (diff)
downloadsynapse-cc84d3ea78eaf50c20ad84b3df99ecf4547e08a8.tar.xz
Thumbnail uploaded and cached images
Diffstat (limited to 'synapse/media/v1/upload_resource.py')
-rw-r--r--synapse/media/v1/upload_resource.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/synapse/media/v1/upload_resource.py b/synapse/media/v1/upload_resource.py
index 91bcc5caff..a78cc3cff3 100644
--- a/synapse/media/v1/upload_resource.py
+++ b/synapse/media/v1/upload_resource.py
@@ -20,10 +20,11 @@ from synapse.api.errors import (
     cs_exception, SynapseError, CodeMessageException
 )
 
-from twisted.web.resource import Resource
 from twisted.web.server import NOT_DONE_YET
 from twisted.internet import defer
 
+from .baseresource import BaseMediaResource
+
 import os
 
 import logging
@@ -31,17 +32,7 @@ import logging
 logger = logging.getLogger(__name__)
 
 
-class UploadResource(Resource):
-    isLeaf = True
-
-    def __init__(self, hs, filepaths):
-        Resource.__init__(self)
-        self.auth = hs.get_auth()
-        self.clock = hs.get_clock()
-        self.store = hs.get_datastore()
-        self.max_upload_size = hs.config.max_upload_size
-        self.filepaths = filepaths
-
+class UploadResource(BaseMediaResource):
     def render_POST(self, request):
         self._async_render_POST(request)
         return NOT_DONE_YET
@@ -99,6 +90,12 @@ class UploadResource(Resource):
                 media_length=content_length,
                 user_id=auth_user,
             )
+            media_info = {
+                "media_type": media_type,
+                "media_length": content_length,
+            }
+
+            yield self._generate_local_thumbnails(self, media_id, media_info)
 
             respond_with_json(
                 request, 200, {"content_token": media_id}, send_cors=True