1.读入json。
This commit is contained in:
parent
f04248df85
commit
4ea70981d1
|
|
@ -5,4 +5,5 @@ bin/
|
||||||
include/
|
include/
|
||||||
lib/
|
lib/
|
||||||
.idea
|
.idea
|
||||||
|
config.json
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
import argparse
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
g_args = None
|
||||||
|
|
||||||
|
|
||||||
|
def read_json():
|
||||||
|
global g_args
|
||||||
|
json_path = g_args.config
|
||||||
|
if json_path is None:
|
||||||
|
print("specify json path")
|
||||||
|
sys.exit()
|
||||||
|
with open(json_path, "r", encoding="utf-8") as json_f:
|
||||||
|
js = json.load(json_f)
|
||||||
|
return js
|
||||||
|
|
||||||
|
|
||||||
|
def get_config():
|
||||||
|
global g_args
|
||||||
|
return g_args
|
||||||
|
|
||||||
|
|
||||||
|
def init_config():
|
||||||
|
global g_args
|
||||||
|
if g_args is not None:
|
||||||
|
return g_args
|
||||||
|
parser = argparse.ArgumentParser(description="Help")
|
||||||
|
parser.add_argument("-config", type=str)
|
||||||
|
_args = parser.parse_args()
|
||||||
|
g_args = _args
|
||||||
|
return _args
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
args = init_config()
|
||||||
|
print(args.config)
|
||||||
|
|
@ -1,19 +1,31 @@
|
||||||
import requests
|
import requests
|
||||||
import datetime
|
import datetime
|
||||||
import model
|
import model
|
||||||
|
import config
|
||||||
|
|
||||||
|
|
||||||
|
def get_servers():
|
||||||
|
js = config.read_json()
|
||||||
|
_servers = js["servers"]
|
||||||
|
servers_dic = {}
|
||||||
|
for s in _servers:
|
||||||
|
servers_dic[s] = {}
|
||||||
|
servers_dic[s]["name"] = s
|
||||||
|
servers_dic[s]["url"] = _servers[s]["url"]
|
||||||
|
return servers_dic
|
||||||
|
|
||||||
|
|
||||||
# file_size if byte
|
# file_size if byte
|
||||||
# longest_time seconds
|
# longest_time seconds
|
||||||
|
def download_file(chunk_size=4 * 1024, file_size=100 * 1024 * 1024, longest_time=60):
|
||||||
|
servers = get_servers()
|
||||||
def download_file(
|
for server_name in servers:
|
||||||
servers, chunk_size=4 * 1024, file_size=100 * 1024 * 1024, longest_time=60
|
server = servers[server_name]
|
||||||
):
|
|
||||||
for server in servers:
|
|
||||||
url = server["url"]
|
url = server["url"]
|
||||||
server_name = server["name"]
|
server_name = server["name"]
|
||||||
chunk_read = 0
|
chunk_read = 0
|
||||||
s_time = datetime.datetime.now()
|
s_time = datetime.datetime.now()
|
||||||
|
duration = longest_time
|
||||||
try:
|
try:
|
||||||
with requests.get(url, stream=True, timeout=longest_time) as r:
|
with requests.get(url, stream=True, timeout=longest_time) as r:
|
||||||
for chunk in r.iter_content(chunk_size):
|
for chunk in r.iter_content(chunk_size):
|
||||||
|
|
|
||||||
10
main.py
10
main.py
|
|
@ -2,14 +2,10 @@
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import downloader
|
import downloader
|
||||||
|
import config
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
config.init_config()
|
||||||
print(datetime.datetime.now())
|
print(datetime.datetime.now())
|
||||||
servers = [
|
downloader.download_file()
|
||||||
{"url": "http://67.209.190.15/1000M.bin", "name": "bwg"},
|
|
||||||
{"url": "http://185.255.130.87:10010/1000M.bin", "name": "hosteons"},
|
|
||||||
{"url": "http://192.168.1.130:10010/1000MB.bin", "name": "local"},
|
|
||||||
]
|
|
||||||
downloader.download_file(servers)
|
|
||||||
print("Finished.")
|
print("Finished.")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue