Improvements in smtio.py "timer display during solving" feature

This commit is contained in:
Clifford Wolf 2015-08-28 00:12:45 +02:00
parent 3512605052
commit 534ea17811
1 changed files with 13 additions and 8 deletions

View File

@ -81,28 +81,33 @@ class smtio:
count = 0 count = 0
num_bs = 0 num_bs = 0
while select([self.p.stdout], [], [], 0.1) == ([], [], []): while select([self.p.stdout], [], [], 0.1) == ([], [], []):
if count % 10 == 0: count += 1
if count < 25:
continue
if count % 10 == 0 or count == 25:
secs = count // 10 secs = count // 10
if secs < 10: if secs < 60:
m = "(%d seconds)" % secs m = "(%d seconds)" % secs
elif secs < 60*60: elif secs < 60*60:
m = "(%d seconds -- %d:%02d)" % (secs, secs // 60, secs % 60) m = "(%d seconds -- %d:%02d)" % (secs, secs // 60, secs % 60)
else: else:
m = "(%d seconds -- %d:%02d:%02d)" % (secs, secs // (60*60), (secs // 60) % 60, secs % 60) m = "(%d seconds -- %d:%02d:%02d)" % (secs, secs // (60*60), (secs // 60) % 60, secs % 60)
print("%s %s %c" % ("\b \b" * num_bs, m, s[i]), end="") print("%s %s %c" % ("\b \b" * num_bs, m, s[i]), end="", file=sys.stderr)
num_bs = len(m) + 3 num_bs = len(m) + 3
else: else:
print("\b" + s[i], end="") print("\b" + s[i], end="", file=sys.stderr)
sys.stdout.flush() sys.stderr.flush()
i = (i + 1) % len(s) i = (i + 1) % len(s)
count += 1
print("\b \b" * num_bs, end="") if num_bs != 0:
sys.stdout.flush() print("\b \b" * num_bs, end="", file=sys.stderr)
sys.stderr.flush()
result = self.read() result = self.read()
if self.debug_file: if self.debug_file: