mirror of https://github.com/arendst/Tasmota.git
Merge pull request #17047 from Jason2866/zopfli
ues zopfli to gz firmware
This commit is contained in:
commit
2e84433522
|
@ -1,11 +1,17 @@
|
||||||
Import("env")
|
Import("env")
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import gzip
|
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
import tasmotapiolib
|
import tasmotapiolib
|
||||||
|
|
||||||
|
# Upgrade pip
|
||||||
|
env.Execute("$PYTHONEXE -m pip install --upgrade pip")
|
||||||
|
# Install zopfli gz compressor from the PyPi registry
|
||||||
|
env.Execute("$PYTHONEXE -m pip install zopfli")
|
||||||
|
|
||||||
|
# Import zoepfli compress
|
||||||
|
from zopfli.gzip import compress
|
||||||
|
import gzip
|
||||||
|
|
||||||
def map_gzip(source, target, env):
|
def map_gzip(source, target, env):
|
||||||
# create string with location and file names based on variant
|
# create string with location and file names based on variant
|
||||||
|
@ -45,8 +51,9 @@ if env["PIOPLATFORM"] != "espressif32":
|
||||||
|
|
||||||
# write gzip firmware file
|
# write gzip firmware file
|
||||||
with open(bin_file, "rb") as fp:
|
with open(bin_file, "rb") as fp:
|
||||||
with gzip.open(gzip_file, "wb", compresslevel=9) as f:
|
with open(gzip_file, "wb") as f:
|
||||||
shutil.copyfileobj(fp, f)
|
zopfli_gz = compress(fp.read())
|
||||||
|
f.write(zopfli_gz)
|
||||||
|
|
||||||
ORG_FIRMWARE_SIZE = bin_file.stat().st_size
|
ORG_FIRMWARE_SIZE = bin_file.stat().st_size
|
||||||
GZ_FIRMWARE_SIZE = gzip_file.stat().st_size
|
GZ_FIRMWARE_SIZE = gzip_file.stat().st_size
|
||||||
|
|
Loading…
Reference in New Issue