Skip to content

Commit

Permalink
fix: macOS Sequoia download (#90)
Browse files Browse the repository at this point in the history
  • Loading branch information
kroese authored Oct 4, 2024
1 parent 0e69a19 commit 1cf4f3d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
15 changes: 12 additions & 3 deletions src/recovery.py → src/fetch.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ def save_image(url, sess, filename='', directory=''):
totalsize = int(headers[header])
break
size = 0
last = 0
while True:
chunk = response.read(2**20)
if not chunk:
Expand All @@ -223,10 +224,15 @@ def save_image(url, sess, filename='', directory=''):
size += len(chunk)
if totalsize > 0:
progress = size / totalsize
print(f'\r{progress*100:.1f}% downloaded', end='')
if (progress - last) >= 0.01 or progress >= 1:
last = progress
print(f'\r{progress*100:.1f}% downloaded', end='')
else:
# Fallback if Content-Length isn't available
print(f'\r{size / (2**20)} MB downloaded...', end='')
progress = size / (2**20)
if (progress - last) >= 10:
last = progress
print(f'\r{progress} MB downloaded...', end='')
sys.stdout.flush()
print('\nDownload complete!')

Expand All @@ -237,8 +243,11 @@ def verify_image(dmgpath, cnkpath):
print('Verifying image with chunklist...')

with open(dmgpath, 'rb') as dmgf:
last=0
for cnkcount, (cnksize, cnkhash) in enumerate(verify_chunklist(cnkpath), 1):
print(f'\rChunk {cnkcount} ({cnksize} bytes)', end='')
if (cnkcount - last) >= 10:
last = cnkcount
print(f'\rChunk {cnkcount} ({cnksize} bytes)', end='')
sys.stdout.flush()
cnk = dmgf.read(cnksize)
if len(cnk) != cnksize:
Expand Down
2 changes: 1 addition & 1 deletion src/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ downloadImage() {

/run/progress.sh "$path" "" "$msg ([P])..." &

if ! /run/recovery.py -b "$board" -n "$file" -o "$TMP" download; then
if ! /run/fetch.py -b "$board" -n "$file" -os latest -o "$TMP" download; then
error "Failed to fetch macOS \"${version^}\" recovery image with board id \"$board\"!"
fKill "progress.sh"
return 1
Expand Down

0 comments on commit 1cf4f3d

Please sign in to comment.