File tree Expand file tree Collapse file tree 2 files changed +10
-20
lines changed
Expand file tree Collapse file tree 2 files changed +10
-20
lines changed Original file line number Diff line number Diff line change 1111import sys
1212
1313
14- class Signal : # <1>
15- go = True
16-
17-
18- def spin (msg , signal ): # <2>
14+ def spin (msg , done ): # <2>
1915write , flush = sys .stdout .write , sys .stdout .flush
2016for char in itertools .cycle ('|/-\\ ' ): # <3>
2117status = char + ' ' + msg
2218write (status )
2319flush ()
2420write ('\x08 ' * len (status )) # <4>
25- time .sleep (.1 )
26- if not signal .go : # <5>
21+ if done .wait (.1 ): # <5>
2722break
2823write (' ' * len (status ) + '\x08 ' * len (status )) # <6>
2924
@@ -35,13 +30,13 @@ def slow_function(): # <7>
3530
3631
3732def supervisor (): # <9>
38- signal = Signal ()
33+ done = threading . Event ()
3934spinner = threading .Thread (target = spin ,
40- args = ('thinking!' , signal ))
35+ args = ('thinking!' , done ))
4136print ('spinner object:' , spinner ) # <10>
4237spinner .start () # <11>
4338result = slow_function () # <12>
44- signal . go = False # <13>
39+ done . set () # <13>
4540spinner .join () # <14>
4641return result
4742
Original file line number Diff line number Diff line change 1111import sys
1212
1313
14- class Signal : # <1>
15- go = True
16-
17-
18- def spin (msg , signal ): # <2>
14+ def spin (msg , done ): # <2>
1915write , flush = sys .stdout .write , sys .stdout .flush
2016for char in itertools .cycle ('|/-\\ ' ): # <3>
2117status = char + ' ' + msg
2218write (status )
2319flush ()
2420write ('\x08 ' * len (status )) # <4>
25- time .sleep (.1 )
26- if not signal .go : # <5>
21+ if done .wait (.1 ): # <5>
2722break
2823write (' ' * len (status ) + '\x08 ' * len (status )) # <6>
2924
@@ -35,13 +30,13 @@ def slow_function(): # <7>
3530
3631
3732def supervisor (): # <9>
38- signal = Signal ()
33+ done = threading . Event ()
3934spinner = threading .Thread (target = spin ,
40- args = ('thinking!' , signal ))
35+ args = ('thinking!' , done ))
4136print ('spinner object:' , spinner ) # <10>
4237spinner .start () # <11>
4338result = slow_function () # <12>
44- signal . go = False # <13>
39+ done . set () # <13>
4540spinner .join () # <14>
4641return result
4742
You can’t perform that action at this time.
0 commit comments