mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 21:13:54 +01:00
SYN-203: Handle requests for thunbnails for images that are small
This commit is contained in:
parent
5739e6c606
commit
390e48a8b0
1 changed files with 14 additions and 5 deletions
|
@ -165,18 +165,27 @@ class ThumbnailResource(BaseMediaResource):
|
||||||
aspect_quality, size_quality, type_quality,
|
aspect_quality, size_quality, type_quality,
|
||||||
length_quality, info
|
length_quality, info
|
||||||
))
|
))
|
||||||
return min(info_list)[-1]
|
if info_list:
|
||||||
|
return min(info_list)[-1]
|
||||||
else:
|
else:
|
||||||
info_list = []
|
info_list = []
|
||||||
|
info_list2 = []
|
||||||
for info in thumbnail_infos:
|
for info in thumbnail_infos:
|
||||||
t_w = info["thumbnail_width"]
|
t_w = info["thumbnail_width"]
|
||||||
t_h = info["thumbnail_height"]
|
t_h = info["thumbnail_height"]
|
||||||
t_method = info["thumbnail_method"]
|
t_method = info["thumbnail_method"]
|
||||||
|
size_quality = abs((d_w - t_w) * (d_h - t_h))
|
||||||
|
type_quality = desired_type != info["thumbnail_type"]
|
||||||
|
length_quality = info["thumbnail_length"]
|
||||||
if t_method == "scale" and (t_w >= d_w or t_h >= d_h):
|
if t_method == "scale" and (t_w >= d_w or t_h >= d_h):
|
||||||
size_quality = abs((d_w - t_w) * (d_h - t_h))
|
|
||||||
type_quality = desired_type != info["thumbnail_type"]
|
|
||||||
length_quality = info["thumbnail_length"]
|
|
||||||
info_list.append((
|
info_list.append((
|
||||||
size_quality, type_quality, length_quality, info
|
size_quality, type_quality, length_quality, info
|
||||||
))
|
))
|
||||||
return min(info_list)[-1]
|
elif t_method == "scale":
|
||||||
|
info_list2.append((
|
||||||
|
size_quality, type_quality, length_quality, info
|
||||||
|
))
|
||||||
|
if info_list:
|
||||||
|
return min(info_list)[-1]
|
||||||
|
else:
|
||||||
|
return min(info_list2)[-1]
|
||||||
|
|
Loading…
Reference in a new issue