Skip to content
This repository has been archived by the owner on Nov 9, 2023. It is now read-only.

Commit

Permalink
Fix log_info/log_err printing with progress bars (#349)
Browse files Browse the repository at this point in the history
  • Loading branch information
Auroir authored and iperov committed Aug 17, 2019
1 parent c4e68ef commit a906f24
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions interact/interact.py
Expand Up @@ -33,6 +33,7 @@ def __init__(self):
self.key_events = {}
self.pg_bar = None
self.focus_wnd_name = None
self.error_log_line_prefix = '/!\\ '

def is_support_windows(self):
return False
Expand Down Expand Up @@ -65,10 +66,22 @@ def on_wait_any_key(self):
raise NotImplemented

def log_info(self, msg, end='\n'):
if self.pg_bar is not None:
try: # Attempt print before the pb
tqdm.write(msg)
return
except:
pass #Fallback to normal print upon failure
print (msg, end=end)

def log_err(self, msg, end='\n'):
print (msg, end=end)
if self.pg_bar is not None:
try: # Attempt print before the pb
tqdm.write(f'{self.error_log_line_prefix}{msg}')
return
except:
pass #Fallback to normal print upon failure
print (f'{self.error_log_line_prefix}{msg}', end=end)

def named_window(self, wnd_name):
if wnd_name not in self.named_windows:
Expand Down Expand Up @@ -150,9 +163,12 @@ def progress_bar_close(self):
else: print("progress_bar not set.")

def progress_bar_generator(self, data, desc, leave=True):
for x in tqdm( data, desc=desc, leave=leave, ascii=True ):
self.pg_bar = tqdm( data, desc=desc, leave=leave, ascii=True )
for x in self.pg_bar:
yield x

self.pg_bar.close()
self.pg_bar = None

def process_messages(self, sleep_time=0):
self.on_process_messages(sleep_time)

Expand Down

0 comments on commit a906f24

Please sign in to comment.