Add do_tasks and taskme.
This commit is contained in:
parent
f44e46aab5
commit
bcc9700d67
2 changed files with 54 additions and 0 deletions
32
do_tasks.py
Normal file
32
do_tasks.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
'''
|
||||||
|
Execute the contents of all .task files forever.
|
||||||
|
'''
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
|
||||||
|
def main(args=None):
|
||||||
|
if args:
|
||||||
|
task_files = args
|
||||||
|
do_loop = False
|
||||||
|
else:
|
||||||
|
do_loop = True
|
||||||
|
|
||||||
|
while True:
|
||||||
|
if do_loop:
|
||||||
|
task_files = [f for f in os.listdir() if (os.path.isfile(f) and f.endswith('.task'))]
|
||||||
|
for task_file in task_files:
|
||||||
|
with open(task_file, 'r', encoding='utf-8') as handle:
|
||||||
|
task_content = handle.read()
|
||||||
|
task_content = task_content.strip()
|
||||||
|
print('TASK:', task_content)
|
||||||
|
status = os.system(task_content)
|
||||||
|
if status == 0:
|
||||||
|
os.remove(task_file)
|
||||||
|
if not do_loop:
|
||||||
|
break
|
||||||
|
time.sleep(10)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
raise SystemExit(main(sys.argv[1:]))
|
22
taskme.py
Normal file
22
taskme.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
'''
|
||||||
|
Create a task file to be executed by do_tasks.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
taskme command arg1 arg2
|
||||||
|
'''
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import random
|
||||||
|
import os
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
raise ValueError()
|
||||||
|
|
||||||
|
task_command = ' '.join('"%s"' % arg for arg in sys.argv[1:])
|
||||||
|
task_command = f'cd /d {os.getcwd()} & {task_command}'
|
||||||
|
|
||||||
|
timestamp = f'{time.time()}'.replace('.', '').ljust(18, '0')
|
||||||
|
filename = f'C:\\tasks\\{timestamp}-{random.randint(1, 1000000)}.task'
|
||||||
|
|
||||||
|
with open(filename, 'w', encoding='utf-8') as handle:
|
||||||
|
handle.write(task_command)
|
Loading…
Reference in a new issue