From da487fbc5fe04e420843b19be92e18216d059742 Mon Sep 17 00:00:00 2001 From: Nic Limper Date: Fri, 11 Aug 2023 19:46:22 +0200 Subject: [PATCH] gzipped files in /www are now stored deterministic, without timestamp --- .../data/www/content_cards.json.gz | Bin 2759 -> 2848 bytes ESP32_AP-Flasher/data/www/edit.html.gz | Bin 5364 -> 5364 bytes ESP32_AP-Flasher/data/www/favicon.ico.gz | Bin 6496 -> 6496 bytes ESP32_AP-Flasher/data/www/index.html.gz | Bin 3319 -> 3319 bytes .../data/www/jsontemplate-demo.html.gz | Bin 623 -> 623 bytes ESP32_AP-Flasher/data/www/main.css.gz | Bin 2651 -> 2651 bytes ESP32_AP-Flasher/data/www/main.js.gz | Bin 7957 -> 7988 bytes ESP32_AP-Flasher/data/www/ota.js.gz | Bin 4070 -> 4058 bytes ESP32_AP-Flasher/data/www/painter.js.gz | Bin 2952 -> 2952 bytes ESP32_AP-Flasher/data/www/setup.html.gz | Bin 689 -> 689 bytes ESP32_AP-Flasher/data/www/setup.js.gz | Bin 1015 -> 1015 bytes ESP32_AP-Flasher/data/www/upload-demo.html.gz | Bin 481 -> 481 bytes .../data/www/variables-demo.html.gz | Bin 0 -> 586 bytes ESP32_AP-Flasher/gzip_wwwfiles.py | 3 +-- 14 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 ESP32_AP-Flasher/data/www/variables-demo.html.gz diff --git a/ESP32_AP-Flasher/data/www/content_cards.json.gz b/ESP32_AP-Flasher/data/www/content_cards.json.gz index 60796166e1fed758a50f8e4bf507e77637d74697..88cfaeb5ff7ab7c9a9d9dac047d64035dcc3944a 100644 GIT binary patch literal 2848 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

#t~`dI|q4g*f`Q6x0D4q`%8EP z{)ED}bYofa2C<3?+Kfv^s6B>J@vNBOj^-|nP)^MM$KfR^%=~1WM1NZ5jhj+m=9$SU zPcdSURHf-^YZV=Bg_PeQ0^My})``&BoNGW!2{td$1U$v{pp$a;ij{ny;~Nim%w4lztdFUVYx$cN(h0O66y-#;9WPS1}oE)UN7>`2L1 zma3F}_K)`;+30lq7j|@Te(>(};vJ2Q*!XaCe0*_l1@?YPK1h(01)gR>QFbX6NBeus z5qo70L>S_RZQX2b_1uqszyEYW?*|2asIm;>#W3(WI%`MvkfwtWAK(U}!mip;7-iuW z_~H3cIIxeF9&-=9VKst@QZ{tSYE0R};fzZOscB6Zy4|IK;f?`IrQi09Z3lOEZRQ9d zXX6xqqP`z-Z|il)>0P2e@zhPkG@yRW7D(SEj%IbHLSJYzzbc^>H@200wyfnrwoq1i_!&lJ2skMsY zkYwoTv!HMD!mY)YVeo`L>4+iR+;>RpWX`X`vE}H5eQMJx=F96q4c<+GNvO6A-=Y=0 z0Bi{m9#gN3ZS~*$`(FpQHw87HKaY4YJL8k|ZU#}w=2&{tLnVW}X~nbl{m?p9MAk9jB_7PI(S)2wzKx6{?_?;lpgYi7 z$tk)GBc`r|PTk5v#w#sQVi!{Yk%210RyV#Ch`Zn%nA(uAKd)xoP=Mgrr$Q{gN-N+K zl|XtGLWQfHN9A3oQkbTk>Mo<AlYmJz9LUQ@k_ia*C4PFtsF*)U#rwoHNL(qM)JpF0_a*9r;_Q4 z%Mkr?5|rSDBIrC)b{A^XTjFPmb%5z)5Et|>$2k@aw0VSyneN`)^4T?Y_B z*}Zjf#GJ~j)eGkHP^={RWC;!Tw!CK>_V=#aQQEGj4g0$t(oRL%>5#T7(sqY5tVqM_ z2TME=HxQTJX-UloCsYw{E`CMpS_P5Gnm%B8< z%fBGJ71t+Aa%vRvfyy=p}zus$BaioK%ety6C=cC$?dMJZ|RjFh)K#&=3Kg}N@0M~ z>8gw4mEfh>P)I3HaGh?~5I06e!c`&5Ywr}S`U0eDsq~mra%;4qn1=GIuRbu1|Mr_7 N{{zzb1#B2M000LqS;hbW diff --git a/ESP32_AP-Flasher/data/www/edit.html.gz b/ESP32_AP-Flasher/data/www/edit.html.gz index a44b9eb3ad4a9f34c7f92b36dad2408c26a0ad45..d002da20dd081baccd1a5631d7804c0e70d20121 100644 GIT binary patch delta 17 XcmeyO`9+gMzMF%C0SGp7yb%EaFq8zg delta 17 YcmeyO`9+gMzMF%?BH&WWMvgZk06Sy`bN~PV diff --git a/ESP32_AP-Flasher/data/www/favicon.ico.gz b/ESP32_AP-Flasher/data/www/favicon.ico.gz index 601de0ee8c64b1036b9860707c1577081041bf01..69425b7449d37e3fab84387d78f6dcd33261399d 100644 GIT binary patch delta 17 XcmaE0^uUNizMF%C0SGp7L`VVvE&l`& delta 17 YcmaE0^uUNizMF%iCG2R*Mve$c06Pl?6aWAK diff --git a/ESP32_AP-Flasher/data/www/index.html.gz b/ESP32_AP-Flasher/data/www/index.html.gz index 715b4fa97dabedc84a1c154bc5e19ecfc8859616..2413d5ee6e59b33305109d6af281b729ab2897eb 100644 GIT binary patch delta 17 Xcmew^`CXDjzMF%C0SGp7yypP`FA@Zo delta 17 Ycmew^`CXDjzMF$%Z_w40jU4ZJ06r=P-v9sr diff --git a/ESP32_AP-Flasher/data/www/jsontemplate-demo.html.gz b/ESP32_AP-Flasher/data/www/jsontemplate-demo.html.gz index 685399b64fd4905266b4561aeeaebefab27e151c..0d7ef3ce10ce366d2bcd691e9d879b464d2265bd 100644 GIT binary patch delta 17 XcmaFQ@}7l5zMF%C0SGp7q%#2kDuM&c delta 17 YcmaFQ@}7l5zMF%iCG2R*MvinQ05^^W&Hw-a diff --git a/ESP32_AP-Flasher/data/www/main.css.gz b/ESP32_AP-Flasher/data/www/main.css.gz index afc1b7c9b7cfc2d317982ecfb475f12d9e763eaa..7547caaa0cb6145a59c7515d0f874a79008fc750 100644 GIT binary patch delta 17 XcmcaDa$AH$zMF%C0SGp71akoZDZ&G{ delta 17 YcmcaDa$AH$zMF%?BH&WWMvh=E05p;XbpQYW diff --git a/ESP32_AP-Flasher/data/www/main.js.gz b/ESP32_AP-Flasher/data/www/main.js.gz index 9c74dd51a36da7597393b36f05cf3ec57bd78f9b..48ecbdfd192efc2e8f281ce0f3d9977e339f7278 100644 GIT binary patch literal 7988 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 literal 7957 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 M2cil1qkKjH075U-N&o-= literal 4070 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 YJ5bd;^_N`AIY9V-06Q&7Y|cgi0Fsp3qW}N^ diff --git a/ESP32_AP-Flasher/data/www/painter.js.gz b/ESP32_AP-Flasher/data/www/painter.js.gz index 9c2c3cca075d10eb72c4edf859eb092a741c6c56..8ae517d74c1985c7de4f3aa227bdff19f78a0db7 100644 GIT binary patch delta 17 WcmeAW?-1vZ@8;lO0D_Gi4cq`A7Xw8A delta 17 YcmeAW?-1vZ@8;lW2|Jpyk)wed04*a0NB{r; diff --git a/ESP32_AP-Flasher/data/www/setup.html.gz b/ESP32_AP-Flasher/data/www/setup.html.gz index ee38577ad6900fc8484dddb27eefc7c86cbaf965..e6ed5f7649818ad713ff793e630da4692d28e58c 100644 GIT binary patch delta 17 XcmdnUx{;MbzMF%C0SGp7tYiWJBV+@U delta 17 YcmdnUx{;MbzMF%iCG2R*Mvj$C05EU`mH+?% diff --git a/ESP32_AP-Flasher/data/www/setup.js.gz b/ESP32_AP-Flasher/data/www/setup.js.gz index ed5ceac4db8808c1186b7a6514a1dc63ecde4573..11608d991b283925f84bf5805f18a5028ac720ee 100644 GIT binary patch delta 17 Xcmey){+*pezMF%C0SGp7yk`agEbRnp delta 17 Ycmey){+*pezMF%iCG2R*MvnK)06F;vZ2$lO diff --git a/ESP32_AP-Flasher/data/www/upload-demo.html.gz b/ESP32_AP-Flasher/data/www/upload-demo.html.gz index a589516a8950cc5c25a6d07ef8201ca8ded45f6e..0b651d2296aa60d493b6087b21e9bf9f4e5db6f7 100644 GIT binary patch delta 17 XcmaFJ{E(SLzMF%C0SGp7+++j*DTf3e delta 17 YcmaFJ{E(SLzMF%iCG2R*Mvj||05+2bApigX diff --git a/ESP32_AP-Flasher/data/www/variables-demo.html.gz b/ESP32_AP-Flasher/data/www/variables-demo.html.gz new file mode 100644 index 0000000000000000000000000000000000000000..e5846ccf62a34e5d7cb5194b6e143e8b70c98f54 GIT binary patch literal 586 zcmV-Q0=4}giwFn+00002|8`+=X<=e)WpgcLWo>URXmo9C0F_ixiyAQyepc{5O!I8r zqsPHv<3h2$hthIF?ZG{jtUH?2-DF9!)#bSV-kG?1dX$!mXfl)UoB6)Uu6*+&Toy~gb7^MKQF<& zw!35=(>cO{Y&_;q$Fo+|_$)JyP2fYIVgz9wCpI8q2My&om5FM@u>zURzc(~C;24wod| zi4Z*((&$lU>F}9Ec0_qpV9Fle+rv;n*sh|@&XiG4Z?3MI{dA#oD_nzCaNsy2ik%xi8a|JPaQ2}`wePBLGC6uF`k$jo+Qn;v Y*JF}d{{~2}g~OZXH?gU%hl2zF0N*hojsO4v literal 0 HcmV?d00001 diff --git a/ESP32_AP-Flasher/gzip_wwwfiles.py b/ESP32_AP-Flasher/gzip_wwwfiles.py index 513a8c42..6b03d597 100644 --- a/ESP32_AP-Flasher/gzip_wwwfiles.py +++ b/ESP32_AP-Flasher/gzip_wwwfiles.py @@ -16,7 +16,7 @@ def gzip_files(source_folder, destination_folder): print(f"Gzipping: {file}") - with open(source_file_path, 'rb') as f_in, gzip.open(destination_file_path, 'wb') as f_out: + with open(source_file_path, 'rb') as f_in, gzip.GzipFile(destination_file_path, 'wb', mtime=0) as f_out: shutil.copyfileobj(f_in, f_out) if __name__ == "__main__": @@ -24,4 +24,3 @@ if __name__ == "__main__": destination_folder = "data/www" # Replace with the path of the destination folder gzip_files(source_folder, destination_folder) -