1.读入json。
This commit is contained in:
parent
f04248df85
commit
4ea70981d1
|
|
@ -5,4 +5,5 @@ bin/
|
|||
include/
|
||||
lib/
|
||||
.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 datetime
|
||||
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
|
||||
# longest_time seconds
|
||||
|
||||
|
||||
def download_file(
|
||||
servers, chunk_size=4 * 1024, file_size=100 * 1024 * 1024, longest_time=60
|
||||
):
|
||||
for server in servers:
|
||||
def download_file(chunk_size=4 * 1024, file_size=100 * 1024 * 1024, longest_time=60):
|
||||
servers = get_servers()
|
||||
for server_name in servers:
|
||||
server = servers[server_name]
|
||||
url = server["url"]
|
||||
server_name = server["name"]
|
||||
chunk_read = 0
|
||||
s_time = datetime.datetime.now()
|
||||
duration = longest_time
|
||||
try:
|
||||
with requests.get(url, stream=True, timeout=longest_time) as r:
|
||||
for chunk in r.iter_content(chunk_size):
|
||||
|
|
|
|||
10
main.py
10
main.py
|
|
@ -2,14 +2,10 @@
|
|||
|
||||
import datetime
|
||||
import downloader
|
||||
|
||||
import config
|
||||
|
||||
if __name__ == "__main__":
|
||||
config.init_config()
|
||||
print(datetime.datetime.now())
|
||||
servers = [
|
||||
{"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)
|
||||
downloader.download_file()
|
||||
print("Finished.")
|
||||
|
|
|
|||
Loading…
Reference in New Issue