1
0
Fork 0

tools: wasptool: Fix binary downloads for a specific special case

Currently if the binary file being downloaded contains single quote
characters then it gets wrapped differently by repr() so we have to add
additional cases to strip the wrapper.

Fix this the "obvious" way... where by "obvious" I mean almost anything
but.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
pull/169/head
Daniel Thompson 2021-02-25 07:25:32 +00:00
parent 181aad6666
commit cabe6f143c
1 changed files with 9 additions and 1 deletions

View File

@ -254,7 +254,15 @@ def handle_binary_download(c, tname, fname):
while True:
draw_pbar(100 * bytes_read / sz, verbose)
reply = c.run_command('repr(f.read(24))')
data = eval(reply.replace('\\\\', '\\').strip('"'))
reply = reply.replace('\\\\', '\\')
if reply.startswith('"'):
# "b'..CONTENT..'"
reply = reply[1:-1]
elif reply.startswith("'"):
# 'b\'..CONTENT..\''
reply = reply[1:-1].replace("\\'", "'")
data = print(reply)
data = eval(reply)
if len(data) == 0:
break
bytes_read += len(data)