Mercurial > libervia-backend
changeset 3329:15612c0fb421
plugin XEP-0264: updated size to get values closest to standard one:
- sizes used for thumbnails are now matching common resolutions.
- added BIG and FULL_SCREEN sizes
- sort thumbnails by sizes when parsing them.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 13 Aug 2020 23:45:59 +0200 |
parents | d49607e3a066 |
children | 7b47f48d31f3 |
files | sat/plugins/plugin_comp_file_sharing.py sat/plugins/plugin_comp_file_sharing_management.py sat/plugins/plugin_xep_0264.py |
diffstat | 3 files changed, 10 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/sat/plugins/plugin_comp_file_sharing.py Mon Aug 03 08:45:49 2020 +0200 +++ b/sat/plugins/plugin_comp_file_sharing.py Thu Aug 13 23:45:59 2020 +0200 @@ -434,7 +434,7 @@ if mime_type is not None and mime_type.startswith("image"): thumbnails = extra.setdefault(C.KEY_THUMBNAILS, []) - for max_thumb_size in (self._t.SIZE_SMALL, self._t.SIZE_MEDIUM): + for max_thumb_size in self._t.SIZES: try: thumb_size, thumb_id = await self._t.generateThumbnail( final_path,
--- a/sat/plugins/plugin_comp_file_sharing_management.py Mon Aug 03 08:45:49 2020 +0200 +++ b/sat/plugins/plugin_comp_file_sharing_management.py Thu Aug 13 23:45:59 2020 +0200 @@ -404,7 +404,7 @@ if media_type == 'image': thumbnails = [] - for max_thumb_size in (self._t.SIZE_SMALL, self._t.SIZE_MEDIUM): + for max_thumb_size in self._t.SIZES: try: thumb_size, thumb_id = yield self._t.generateThumbnail( file_path,
--- a/sat/plugins/plugin_xep_0264.py Mon Aug 03 08:45:49 2020 +0200 +++ b/sat/plugins/plugin_xep_0264.py Thu Aug 13 23:45:59 2020 +0200 @@ -70,8 +70,11 @@ class XEP_0264(object): - SIZE_SMALL = (250, 250) - SIZE_MEDIUM = (1024, 1024) + SIZE_SMALL = (320, 320) + SIZE_MEDIUM = (640, 640) + SIZE_BIG = (1280, 1280) + SIZE_FULL_SCREEN = (2560, 2560) + SIZES = (SIZE_SMALL, SIZE_MEDIUM, SIZE_FULL_SCREEN) def __init__(self, host): log.info(_("Plugin XEP_0264 initialization")) @@ -108,7 +111,7 @@ height = thumbnail_elt.getAttribute("height") if width and height: try: - thumbnail["size"] = int(width), int(height) + thumbnail["size"] = (int(width), int(height)) except ValueError: pass try: @@ -118,6 +121,8 @@ thumbnails.append(thumbnail) if thumbnails: + # we want thumbnails ordered from smallest to biggest + thumbnails.sort(key=lambda t: t.get('size', (0, 0))) file_data.setdefault("extra", {})[C.KEY_THUMBNAILS] = thumbnails return True