diff options
| author | UltraQbik <no1skill@yandex.ru> | 2024-08-27 15:44:19 +0300 |
|---|---|---|
| committer | UltraQbik <no1skill@yandex.ru> | 2024-08-27 15:44:19 +0300 |
| commit | fdda4950d518e4ddae8a548f8ff6c8b0d4cba41a (patch) | |
| tree | 8471fb2b1f657b848507425d74b12bbb8ac018f2 /src/minimizer.py | |
| parent | 3263cfdee15391995532545df84b8e4144684879 (diff) | |
| download | httpy-fdda4950d518e4ddae8a548f8ff6c8b0d4cba41a.tar.gz httpy-fdda4950d518e4ddae8a548f8ff6c8b0d4cba41a.zip | |
wut?
Diffstat (limited to 'src/minimizer.py')
| -rw-r--r-- | src/minimizer.py | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/minimizer.py b/src/minimizer.py deleted file mode 100644 index af1c015..0000000 --- a/src/minimizer.py +++ /dev/null @@ -1,65 +0,0 @@ -import re -# import htmlmin - - -def minimize_html(html: bytes) -> bytes: - """ - Minimizes HTML files. - Slightly better than htmlmin for my files, - but maybe I break something in process and I don't notice - """ - - html = bytearray(html) - - # remove newlines - html = (html - .replace(b'\r', b'') - .replace(b'\n', b'')) - - # remove double spaces - size = len(html) - while True: - html = html.replace(b' ', b'') - - # if nothing changes -> break - if size == len(html): - break - size = len(html) - - # simplify '> <' to '><' - html = html.replace(b'> <', b'><') - - # remove unnecessary quotes - index = 0 - for tag in re.findall(r"<.*?>", html.decode("utf8")): - index = html.find(tag.encode("utf8"), index) - processed = (tag - .replace("\"", "") - .replace(": ", ":") - .replace("; ", ";")) - if len(processed) < len(tag): - html[index:index+len(tag)] = (html[index:index+len(tag)] - .replace(tag.encode("utf8"), processed.encode("utf8"), 1)) - - return html - - -def test(): - with open("../www/about.html", "rb") as file: - original = file.read() - - processed = minimize_html(original) - - print(f"Original : {len(original)}\n" - f"Processed: {len(processed)}\n" - f"Rate : {(1 - len(processed) / len(original)) * 100:.2f}%", end="\n\n") - - # processed = htmlmin.minify(original.decode("utf8"), True, True, True, True, True) - # - # print(f"Original : {len(original)}\n" - # f"Processed: {len(processed)}\n" - # f"Rate : {(1 - len(processed) / len(original)) * 100:.2f}%") - - -if __name__ == '__main__': - test() |