def save(self, *args: typing.Any, **kwargs: typing.Any) -> None:
super(Gallery, self).save(*args, **kwargs)
if self.thumbnail_url and not self.thumbnail:
response = request_with_retries(
self.thumbnail_url,
{
'timeout': 25,
'stream': True
},
post=False,
)
if response:
disassembled = urlparse(self.thumbnail_url)
file_name = basename(disassembled.path)
lf = NamedTemporaryFile()
if response.status_code == requests.codes.ok:
for chunk in response.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
lf.write(chunk)
self.thumbnail.save(file_name, File(lf), save=False)
lf.close()
super(Gallery, self).save(force_update=True)
评论列表
文章目录