mirror of
				https://github.com/matrix-org/synapse.git
				synced 2025-11-04 10:11:05 +01:00 
			
		
		
		
	Change _generate_thumbnails to take media_type
This commit is contained in:
		
							parent
							
								
									0a90d9ede4
								
							
						
					
					
						commit
						6368e5c0ab
					
				@ -151,7 +151,9 @@ class MediaRepository(object):
 | 
				
			|||||||
            "media_length": content_length,
 | 
					            "media_length": content_length,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        yield self._generate_thumbnails(None, media_id, media_id, media_info)
 | 
					        yield self._generate_thumbnails(
 | 
				
			||||||
 | 
					            None, media_id, media_id, media_info["media_type"],
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        defer.returnValue("mxc://%s/%s" % (self.server_name, media_id))
 | 
					        defer.returnValue("mxc://%s/%s" % (self.server_name, media_id))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -413,7 +415,7 @@ class MediaRepository(object):
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        yield self._generate_thumbnails(
 | 
					        yield self._generate_thumbnails(
 | 
				
			||||||
            server_name, media_id, file_id, media_info,
 | 
					            server_name, media_id, file_id, media_info["media_type"],
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        defer.returnValue(media_info)
 | 
					        defer.returnValue(media_info)
 | 
				
			||||||
@ -525,7 +527,7 @@ class MediaRepository(object):
 | 
				
			|||||||
            defer.returnValue(output_path)
 | 
					            defer.returnValue(output_path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def _generate_thumbnails(self, server_name, media_id, file_id, media_info,
 | 
					    def _generate_thumbnails(self, server_name, media_id, file_id, media_type,
 | 
				
			||||||
                             url_cache=False):
 | 
					                             url_cache=False):
 | 
				
			||||||
        """Generate and store thumbnails for an image.
 | 
					        """Generate and store thumbnails for an image.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -534,14 +536,13 @@ class MediaRepository(object):
 | 
				
			|||||||
            media_id (str): The media ID of the content. (This is the same as
 | 
					            media_id (str): The media ID of the content. (This is the same as
 | 
				
			||||||
                the file_id for local content)
 | 
					                the file_id for local content)
 | 
				
			||||||
            file_id (str): Local file ID
 | 
					            file_id (str): Local file ID
 | 
				
			||||||
            media_info (dict)
 | 
					            media_type (str)
 | 
				
			||||||
            url_cache (bool): If we are thumbnailing images downloaded for the URL cache,
 | 
					            url_cache (bool): If we are thumbnailing images downloaded for the URL cache,
 | 
				
			||||||
                used exclusively by the url previewer
 | 
					                used exclusively by the url previewer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Returns:
 | 
					        Returns:
 | 
				
			||||||
            Deferred[dict]: Dict with "width" and "height" keys of original image
 | 
					            Deferred[dict]: Dict with "width" and "height" keys of original image
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        media_type = media_info["media_type"]
 | 
					 | 
				
			||||||
        requirements = self._get_thumbnail_requirements(media_type)
 | 
					        requirements = self._get_thumbnail_requirements(media_type)
 | 
				
			||||||
        if not requirements:
 | 
					        if not requirements:
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
 | 
				
			|||||||
@ -187,7 +187,8 @@ class PreviewUrlResource(Resource):
 | 
				
			|||||||
        if _is_media(media_info['media_type']):
 | 
					        if _is_media(media_info['media_type']):
 | 
				
			||||||
            file_id = media_info['filesystem_id']
 | 
					            file_id = media_info['filesystem_id']
 | 
				
			||||||
            dims = yield self.media_repo._generate_thumbnails(
 | 
					            dims = yield self.media_repo._generate_thumbnails(
 | 
				
			||||||
                None, file_id, file_id, media_info, url_cache=True,
 | 
					                None, file_id, file_id, media_info["media_type"],
 | 
				
			||||||
 | 
					                url_cache=True,
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            og = {
 | 
					            og = {
 | 
				
			||||||
@ -234,7 +235,8 @@ class PreviewUrlResource(Resource):
 | 
				
			|||||||
                    # TODO: make sure we don't choke on white-on-transparent images
 | 
					                    # TODO: make sure we don't choke on white-on-transparent images
 | 
				
			||||||
                    file_id = image_info['filesystem_id']
 | 
					                    file_id = image_info['filesystem_id']
 | 
				
			||||||
                    dims = yield self.media_repo._generate_thumbnails(
 | 
					                    dims = yield self.media_repo._generate_thumbnails(
 | 
				
			||||||
                        None, file_id, file_id, image_info, url_cache=True,
 | 
					                        None, file_id, file_id, image_info["media_type"],
 | 
				
			||||||
 | 
					                        url_cache=True,
 | 
				
			||||||
                    )
 | 
					                    )
 | 
				
			||||||
                    if dims:
 | 
					                    if dims:
 | 
				
			||||||
                        og["og:image:width"] = dims['width']
 | 
					                        og["og:image:width"] = dims['width']
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user