[tool] Add basic timer
This commit is contained in:
		
							parent
							
								
									954c79738b
								
							
						
					
					
						commit
						24057bf533
					
				
					 1 changed files with 28 additions and 0 deletions
				
			
		
							
								
								
									
										28
									
								
								timer.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								timer.py
									
									
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
#!/usr/bin/python
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import os
 | 
			
		||||
import time
 | 
			
		||||
 | 
			
		||||
TIMER_FILE = '/home/kleph/stream/timer.txt'
 | 
			
		||||
 | 
			
		||||
parser = argparse.ArgumentParser()
 | 
			
		||||
parser.add_argument('-t', '--timer', help="start time in seconds", type=int, default=300)
 | 
			
		||||
parser.add_argument('-f', '--file', help="where to write the time", type=str, default=TIMER_FILE)
 | 
			
		||||
args = parser.parse_args()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def write_countdown(filename, stimer):
 | 
			
		||||
    t = stimer
 | 
			
		||||
    with open(filename, 'w') as f:
 | 
			
		||||
        while t > 0:
 | 
			
		||||
            t -= 1
 | 
			
		||||
            min, sec = divmod(t, 60)
 | 
			
		||||
            print(f'{min:02d}:{sec:02d}')
 | 
			
		||||
            f.seek(0)
 | 
			
		||||
            f.write(f'{min:02d}:{sec:02d}')
 | 
			
		||||
            os.fsync(f)
 | 
			
		||||
            time.sleep(1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
write_countdown(args.file, args.timer)
 | 
			
		||||
		Loading…
	
		Reference in a new issue