INNER CODE UNIT · Python
get_size
steineggerlab/foldcomp · foldcomp/setup.py:6
async def get_size(client, url):
response = await client.head(url=url)
if response.status_code == 200:
return int(response.headers["content-length"])
else:
return -1
async def download_range(client, url, start, end, output, mode):
curr_start = start
with open(output, mode) as f:
while True:
try:
async with client.stream(
"GET", url, headers={"Range": f"bytes={curr_start}-{end}"}
) as response:
async for chunk in response.aiter_raw():
f.write(chunk)