diff --git a/downloader.py b/downloader.py index d2a112e..1507c01 100644 --- a/downloader.py +++ b/downloader.py @@ -1,22 +1,27 @@ import requests import datetime +import model # file_size if byte -def download_file(url, chunk_size=64 * 1024, file_size=100 * 1024 * 1024): - chunk_read = 0 - s_time = datetime.datetime.now() - e_time = None - with requests.get(url, stream=True) as r: - for chunk in r.iter_content(chunk_size): - if chunk_read >= file_size: - e_time = datetime.datetime.now() - break - if chunk: - chunk_read += len(chunk) - duration = (e_time - s_time).total_seconds() - speed = chunk_read / duration / 1024 / 1024 * 8 # mega bit - # print("{} MB download".format(chunk_read / 1024 / 1024)) - # print("{} seconds".format(duration / 1)) - return speed +def download_file(servers, chunk_size=64 * 1024, file_size=1 * 1024 * 1024): + for server in servers: + url = server["url"] + server_name = server["name"] + chunk_read = 0 + s_time = datetime.datetime.now() + e_time = None + with requests.get(url, stream=True) as r: + for chunk in r.iter_content(chunk_size): + if chunk_read >= file_size: + e_time = datetime.datetime.now() + break + if chunk: + chunk_read += len(chunk) + duration = (e_time - s_time).total_seconds() + speed = chunk_read / duration / 1024 / 1024 * 8 # mega bit + model.add_record(server_name, speed) + # print(now_timestamp{} MB download".format(chunk_read / 1024 / 1024)) + # print("{} seconds".format(duration / 1)) + # return speed diff --git a/main.py b/main.py index a49553c..87f16fe 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,7 @@ import downloader if __name__ == "__main__": - chunk_read = downloader.download_file("http://67.209.190.15/1000M.bin") - print(chunk_read) + servers = [{"url": "http://67.209.190.15/1000M.bin", "name": "bwg"}] + chunk_read = downloader.download_file(servers) + # print(chunk_read) print("Finished.") diff --git a/model.py b/model.py new file mode 100644 index 0000000..404e4b3 --- /dev/null +++ b/model.py @@ -0,0 +1,17 @@ +from peewee import * +import datetime + +mysql_db = MySQLDatabase( + "vps", user="dmy", password="abc123+_", host="192.168.1.130", port=3306 +) + + +def add_record(server, speed): + now = datetime.datetime.now() + now_timestamp = now.strftime("%Y-%m-%d %H:%M:%S") + print(now_timestamp) + mysql_db.execute_sql( + 'insert into vps_download_speed(server,speed,datetime) values("{server}",{speed},"{datetime}")'.format( + server=server, speed=speed, datetime=now_timestamp + ) + )