Initial commit
This commit is contained in:
commit
2575907ef1
|
@ -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
|
||||
```
|
|
@ -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)
|
Loading…
Reference in New Issue