From 1927feb37abc69c690722752168ab309736527ee Mon Sep 17 00:00:00 2001 From: Victorious Children Studios Date: Tue, 19 Dec 2023 21:50:31 +0200 Subject: [PATCH] Added ZLIB! --- network/http_client.py | 11 ++++++++--- network/http_server.py | 21 ++++++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/network/http_client.py b/network/http_client.py index 66fd97d..c1a06bb 100644 --- a/network/http_client.py +++ b/network/http_client.py @@ -3,6 +3,7 @@ import os import json +import zlib import time import fnmatch import threading @@ -85,22 +86,26 @@ def down(win, website, filename, fsize=100000): # downloading the file - url = website+"/download"+filename + url = website+"/download_z"+filename response = urllib.request.urlopen(url) savef = open(win.project+filename, "wb") - + zd = b"" sofar = 0 chunk = response.read(8192) + while chunk: - savef.write(chunk) + zd = zd + chunk chunk = response.read(8192) sofar = sofar + 8192 win.current["http-server"]["message"] = filename[filename.rfind("/")+1:] win.current["http-server"]["fileprog"] = sofar / fsize + unz = zlib.decompress(zd) + + savef.write(unz) savef.close() def download_missing_changed(win, cur): diff --git a/network/http_server.py b/network/http_server.py index 90baeb5..d19a495 100644 --- a/network/http_server.py +++ b/network/http_server.py @@ -9,6 +9,7 @@ from http.server import BaseHTTPRequestHandler, HTTPServer from subprocess import * import json import os +import zlib import sys import time import random @@ -221,7 +222,25 @@ class handler(BaseHTTPRequestHandler): self.start_page(404) self.wfile.write(b"File: "+filename.encode("utf-8")+b" doen't exist") - + elif self.path.startswith("/download_z/"): + + filename = self.path[9:] + fullfilename = PROJECT+filename + + + + if os.path.exists(fullfilename): + self.start_page(200) + self.send_header('Content-type', mimetypes.guess_type(filename)) + self.end_headers() + f = open(fullfilename, "rb") + f = f.read() + z = zlib.compress(f) + self.wfile.write(z) + else: + self.start_page(404) + self.wfile.write(b"File: "+filename.encode("utf-8")+b" doen't exist") + try: PORT = int(sys.argv[1])