mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-20 12:20:18 -04:00
59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
import os
|
|
import sys
|
|
import signal
|
|
import time
|
|
import event_processor
|
|
|
|
|
|
class SkoolOSDaemon:
|
|
"""Constructor"""
|
|
def __init__(self, work_dir='/tmp'):
|
|
self.work_dir = work_dir
|
|
self.start_time = None
|
|
self.end_time = None
|
|
self.log_file = None
|
|
def __write_pid_file(self):
|
|
try:
|
|
dirName = "/tmp/skooloslogs"
|
|
# Create log Directory
|
|
os.mkdir(dirName)
|
|
except FileExistsError:
|
|
pass
|
|
pid = str(os.getpid())
|
|
file_ = open('/tmp/skoolosdaemonpid', 'w')
|
|
file_.write(pid)
|
|
file_.close()
|
|
def readable_time(self, input_time):
|
|
return time.strftime("%A, %B %d, %Y %H:%M:%S", time.localtime(input_time))
|
|
def start(self):
|
|
self.__write_pid_file()
|
|
self.start_time = time.time()
|
|
self.log_file = open('/tmp/skooloslogs/' + str(self.start_time), 'w')
|
|
self.log_file.write("Start time: \n" + self.readable_time(self.start_time) + "\n\n")
|
|
sys.stdout = self.log_file
|
|
event_processor.watch_dir(self.work_dir)
|
|
def stop(self):
|
|
event_processor.stop_watching()
|
|
self.end_time = time.time()
|
|
self.log_file.write("Stop time: \n" + self.readable_time(self.end_time))
|
|
self.log_file.write("Total work time: " +
|
|
time.strftime("%H:%M:%S", time.gmtime(self.end_time - self.start_time)))
|
|
|
|
|
|
|
|
|
|
logger = None
|
|
|
|
def Main():
|
|
def signal_handler(signum, frame):
|
|
logger.stop()
|
|
signal.signal(signal.SIGINT, signal_handler)
|
|
# signal.signal(signal.SIGTERM, signal_handler)
|
|
global logger
|
|
logger = SkoolOSDaemon("/tmp")
|
|
logger.start()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
Main()
|