From ba424fa4273a200a6f75c3328fd239be7aaa15db Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 16 Jun 2015 13:03:04 -0700 Subject: [PATCH] suppress download progress output to stdout in OSX (fixes #203) --- onionshare/web.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/onionshare/web.py b/onionshare/web.py index a72f1f7c..059475aa 100644 --- a/onionshare/web.py +++ b/onionshare/web.py @@ -146,13 +146,13 @@ def download(slug_candidate): basename = os.path.basename(zip_filename) def generate(): - chunk_size = 102400 # 100kb + chunk_size = 102400 # 100kb fp = open(zip_filename, 'rb') done = False canceled = False while not done: - chunk = fp.read(102400) + chunk = fp.read(chunk_size) if chunk == '': done = True else: @@ -162,9 +162,13 @@ def download(slug_candidate): # tell GUI the progress downloaded_bytes = fp.tell() percent = (1.0 * downloaded_bytes / zip_filesize) * 100 - sys.stdout.write( - "\r{0:s}, {1:.2f}% ".format(helpers.human_readable_filesize(downloaded_bytes), percent)) - sys.stdout.flush() + + # suppress stdout platform on OSX (#203) + if helpers.get_platform() != 'Darwin': + sys.stdout.write( + "\r{0:s}, {1:.2f}% ".format(helpers.human_readable_filesize(downloaded_bytes), percent)) + sys.stdout.flush() + add_request(REQUEST_PROGRESS, path, {'id': download_id, 'bytes': downloaded_bytes}) except: # looks like the download was canceled @@ -175,7 +179,9 @@ def download(slug_candidate): add_request(REQUEST_CANCELED, path, {'id': download_id}) fp.close() - sys.stdout.write("\n") + + if helpers.get_platform() != 'Darwin': + sys.stdout.write("\n") # download is finished, close the server if not stay_open and not canceled: