mirror of
https://github.com/esphome/esphome.git
synced 2024-11-27 09:18:00 +01:00
Fixes compressed downloads (#5014)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
parent
70de2f5278
commit
832ba38f1b
1 changed files with 4 additions and 15 deletions
|
@ -546,22 +546,11 @@ class DownloadBinaryRequestHandler(BaseHandler):
|
||||||
return
|
return
|
||||||
|
|
||||||
with open(path, "rb") as f:
|
with open(path, "rb") as f:
|
||||||
while True:
|
data = f.read()
|
||||||
# For a 528KB image used as benchmark:
|
if compressed:
|
||||||
# - using 256KB blocks resulted in the smallest file size.
|
data = gzip.compress(data, 9)
|
||||||
# - blocks larger than 256KB didn't improve the size of compressed file.
|
self.write(data)
|
||||||
# - blocks smaller than 256KB hindered compression, making the output file larger.
|
|
||||||
|
|
||||||
# Read file in blocks of 256KB.
|
|
||||||
data = f.read(256 * 1024)
|
|
||||||
|
|
||||||
if not data:
|
|
||||||
break
|
|
||||||
|
|
||||||
if compressed:
|
|
||||||
data = gzip.compress(data, 9)
|
|
||||||
|
|
||||||
self.write(data)
|
|
||||||
self.finish()
|
self.finish()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue