Initial commit

This commit is contained in:
Augusto Gunsch 2022-05-23 16:25:33 -03:00
commit 2575907ef1
2 changed files with 41 additions and 0 deletions

11
README.md Normal file
View File

@ -0,0 +1,11 @@
Simple script for limiting access time to certain applications.
## Examples
- Only allow usage of newsboat from 8AM to 9AM:
```
timeking '08:00-09:00' && newsboat
```
- Allow newsboat from 8AM to 9AM and from 11AM to 12AM:
```
timeking '08:00-09:00&11:00-12:00' && newsboat
```

30
timeking Executable file
View File

@ -0,0 +1,30 @@
#!/bin/python3.9
from datetime import datetime
from sys import argv, stderr
from os import system
import re
rules = argv[1].split('&')
pattern = re.compile(r'(\d{2}):(\d{2})-(\d{2}):(\d{2})')
now = datetime.now()
nm = now.hour * 60 + now.minute
for rule in rules:
m = pattern.match(rule)
if not m:
print('unrecognized time stamp "{}"'.format(rule), file=stderr)
exit(1)
sh, sm, eh, em = map(int, m.groups())
sm = sh * 60 + sm
em = eh * 60 + em
if nm >= sm and nm <= em:
exit(0)
print('You are not supposed to access this program now', file=stderr)
system('notify-send -u critical "You are not supposed to access this program now"')
exit(2)