42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
|
import tqdm
|
||
|
import os
|
||
|
import shutil
|
||
|
import requests
|
||
|
import config
|
||
|
|
||
|
def download(url: str, dest: str):
|
||
|
with open(config.get("tmpDir") + dest, 'wb') as f:
|
||
|
with requests.get(url, stream=True) as r:
|
||
|
r.raise_for_status()
|
||
|
totalLength = int(r.headers.get('content-length', 0))
|
||
|
|
||
|
tqdm_params = {
|
||
|
'desc': dest,
|
||
|
'total': totalLength,
|
||
|
'miniters': 1,
|
||
|
'bar_format' : "{desc}: |{bar:40}| {percentage:3.1f}% ",
|
||
|
}
|
||
|
with tqdm.tqdm(**tqdm_params) as pb:
|
||
|
for chunk in r.iter_content(chunk_size=8192):
|
||
|
pb.update(len(chunk))
|
||
|
f.write(chunk)
|
||
|
|
||
|
def mkdir(name: str):
|
||
|
try:
|
||
|
os.mkdir(name)
|
||
|
except Exception as err:
|
||
|
print(err)
|
||
|
|
||
|
def rm(dir: str):
|
||
|
try:
|
||
|
if os.path.isdir(dir) == True:
|
||
|
shutil.rmtree(dir)
|
||
|
else:
|
||
|
os.remove(dir)
|
||
|
except Exception as err:
|
||
|
print(err)
|
||
|
|
||
|
def rmlist(list: list):
|
||
|
for dir in list:
|
||
|
rm(dir)
|