progress
This commit is contained in:
parent
fae2cacb73
commit
7365c2e3ee
@ -5,7 +5,13 @@ import datetime
|
|||||||
import utilities_script as utility
|
import utilities_script as utility
|
||||||
|
|
||||||
class timer():
|
class timer():
|
||||||
def __init__(self, name, startTime, endTime, trigger, trigger_exec, tempTimer = True):
|
def __init__(self,
|
||||||
|
name,
|
||||||
|
startTime = datetime.datetime.now,
|
||||||
|
endTime = datetime.datetime.now,
|
||||||
|
trigger = "",
|
||||||
|
trigger_exec = "",
|
||||||
|
tempTimer = True):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.startTime = startTime
|
self.startTime = startTime
|
||||||
self.endTime = endTime
|
self.endTime = endTime
|
||||||
@ -19,23 +25,53 @@ class Timers_Module():
|
|||||||
self.timersList = []
|
self.timersList = []
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
self.createTimer()
|
self.createTimer("test_timer", seconds=30)
|
||||||
|
#self.updateTimersList()
|
||||||
|
|
||||||
def updateTimersList(self):
|
def updateTimersList(self):
|
||||||
pass
|
self.compile_and_load()
|
||||||
|
|
||||||
def createTimer(self, days=0, hours=0, minutes=0, seconds=0, microseconds=0, trigger="", trigger_exec="", tempTimer=True):
|
def compile_and_load(self):
|
||||||
temp = datetime.datetime.now()
|
dic = {}
|
||||||
targetTime = temp + datetime.timedelta(days=days, hours=hours, minutes=minutes, seconds=seconds, microseconds=microseconds)
|
implementations = self.get_implementations_dir()
|
||||||
|
for dirName, subdirList, fileList in os.walk(implementations):
|
||||||
|
for file in fileList:
|
||||||
|
name, startTime, endTime, trigger, trigger_exec, tempTimer = self.readFile(file)
|
||||||
|
newTimer = timer(name, startTime, endTime, trigger, trigger_exec, tempTimer)
|
||||||
|
|
||||||
newTimer= timer()
|
dic[newTimer.name] = newTimer
|
||||||
newTimer.startTime = temp
|
self.timersList.append(self.timersList)
|
||||||
newTimer.endTime = targetTime
|
break
|
||||||
newTimer.trigger = trigger
|
return dic
|
||||||
newTimer.trigger_exec = trigger_exec
|
|
||||||
newTimer.tempTimer = tempTimer
|
def get_base_dir(self) -> str:
|
||||||
|
cwd = os.getcwd()
|
||||||
|
split = os.path.split(cwd)
|
||||||
|
current = split[len(split) - 1]
|
||||||
|
if current == 'timers':
|
||||||
|
return self.check_dir(cwd)
|
||||||
|
elif current == 'Praxis_Bot' or current == 'Praxis':
|
||||||
|
return self.check_dir(os.path.join(cwd, "timers"))
|
||||||
|
else:
|
||||||
|
print("could not find working directory for Praxis_Bot/timers")
|
||||||
|
raise Exception
|
||||||
|
|
||||||
|
def get_implementations_dir(self) -> str:
|
||||||
|
return self.check_dir(os.path.join(self.get_base_dir()))
|
||||||
|
|
||||||
|
def check_dir(self, path: str) -> str:
|
||||||
|
if not os.path.exists(path):
|
||||||
|
os.mkdir(path, 0x777)
|
||||||
|
return path
|
||||||
|
|
||||||
|
def createTimer(self, name, days=0, hours=0, minutes=0, seconds=0, microseconds=0, trigger="", trigger_exec="", tempTimer=True):
|
||||||
|
startTime = datetime.datetime.now()
|
||||||
|
targetTime = startTime + datetime.timedelta(days=days, hours=hours, minutes=minutes, seconds=seconds, microseconds=microseconds)
|
||||||
|
|
||||||
|
newTimer= timer(name, startTime, targetTime, trigger, trigger_exec, tempTimer)
|
||||||
|
|
||||||
self.timersList.append(newTimer)
|
self.timersList.append(newTimer)
|
||||||
|
self.makeFile(newTimer)
|
||||||
|
|
||||||
def checkTimer(self, name):
|
def checkTimer(self, name):
|
||||||
|
|
||||||
@ -57,27 +93,27 @@ class Timers_Module():
|
|||||||
self.deleteTimer(name)
|
self.deleteTimer(name)
|
||||||
|
|
||||||
|
|
||||||
def makeFile(self, name, startTime, endTime, trigger, trigger_exec, tempTimer = True):
|
def makeFile(self, timer_obj:timer):
|
||||||
dir = utility.get_dir("stream_sources/timers")
|
dir = utility.get_dir("timers")
|
||||||
script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
|
script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
|
||||||
relative_path = name + ".json"
|
relative_path = timer_obj.name + ".json"
|
||||||
real_file_path = os.path.join(script_dir, relative_path)
|
real_file_path = os.path.join(script_dir, relative_path)
|
||||||
with open(real_file_path, 'rw') as cred_r:
|
with open(real_file_path, 'r+') as cred_r:
|
||||||
data = json.load(cred_r)
|
data = json.load(timer_obj)
|
||||||
data['name'] = name
|
data['name'] = timer_obj.name
|
||||||
data['startTime'] = startTime
|
data['startTime'] = timer_obj.startTime
|
||||||
data['endTime'] = endTime
|
data['endTime'] = timer_obj.endTime
|
||||||
data['trigger'] = trigger
|
data['trigger'] = timer_obj.trigger
|
||||||
data['trigger_exec'] = trigger_exec
|
data['trigger_exec'] = timer_obj.trigger_exec
|
||||||
data['tempTimer'] = tempTimer
|
data['tempTimer'] = timer_obj.tempTimer
|
||||||
|
|
||||||
with open(real_file_path, 'w') as cred_w:
|
with open(real_file_path, 'w') as cred_w:
|
||||||
json.dump(data, cred_w, indent=2)
|
json.dump(data, cred_w, indent=2)
|
||||||
|
|
||||||
def readFile(self, name):
|
def readFile(self, name):
|
||||||
dir = utility.get_dir("stream_sources/timers")
|
dir = utility.get_dir("timers")
|
||||||
script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
|
script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
|
||||||
relative_path = name + ".json"
|
relative_path = name #+ ".json"
|
||||||
real_file_path = os.path.join(script_dir, relative_path)
|
real_file_path = os.path.join(script_dir, relative_path)
|
||||||
|
|
||||||
startTime, endTime, trigger, tempTimer = None
|
startTime, endTime, trigger, tempTimer = None
|
||||||
@ -92,9 +128,9 @@ class Timers_Module():
|
|||||||
return name, startTime, endTime, trigger, trigger_exec, tempTimer
|
return name, startTime, endTime, trigger, trigger_exec, tempTimer
|
||||||
|
|
||||||
def deleteFile(self, name):
|
def deleteFile(self, name):
|
||||||
dir = utility.get_dir("stream_sources/timers")
|
dir = utility.get_dir("timers")
|
||||||
script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
|
script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
|
||||||
relative_path = name + ".json"
|
relative_path = name #+ ".json"
|
||||||
real_file_path = os.path.join(script_dir, relative_path)
|
real_file_path = os.path.join(script_dir, relative_path)
|
||||||
os.remove(real_file_path)
|
os.remove(real_file_path)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user