added time trigger
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<cpuGovernorAutoAdjust>
|
||||
<logLevel>Debug</logLevel>
|
||||
<testMode>true</testMode>
|
||||
<defaultGovernor>conservative</defaultGovernor>
|
||||
<defaultGovernor>powersave</defaultGovernor>
|
||||
<triggers>
|
||||
<trigger>
|
||||
<name>test_trigger1</name>
|
||||
@@ -30,6 +30,15 @@
|
||||
<tokenFilePath>/home/martin/dev/cpu_governor_auto_adjust/cpu_governor_auto_adjust/triggers/.data/token_file</tokenFilePath>
|
||||
</customConfig>
|
||||
</trigger>
|
||||
<trigger>
|
||||
<name>time</name>
|
||||
<type>run_once</type>
|
||||
<intervalInSeconds>5</intervalInSeconds>
|
||||
<governor>conservative</governor>
|
||||
<customConfig>
|
||||
<startTime>7:00</startTime>
|
||||
<endTime>23:59</endTime>
|
||||
</customConfig>
|
||||
</trigger>
|
||||
</triggers>
|
||||
<powersaveDelayInMinutes>5</powersaveDelayInMinutes>
|
||||
</cpuGovernorAutoAdjust>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
from types import MappingProxyType
|
||||
from cpu_governor_auto_adjust.triggers import TestTrigger1, TestTrigger2, RoonTrigger
|
||||
from cpu_governor_auto_adjust.triggers import TestTrigger1, TestTrigger2, RoonTrigger, TimeTrigger
|
||||
|
||||
_trigger_mapping = {
|
||||
'test_trigger1': TestTrigger1,
|
||||
'test_trigger2': TestTrigger2,
|
||||
'roon': RoonTrigger
|
||||
'roon': RoonTrigger,
|
||||
'time': TimeTrigger
|
||||
}
|
||||
trigger_mapping = MappingProxyType(_trigger_mapping)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
__all__ = ["test_trigger1", "test_trigger2", "roon"]
|
||||
__all__ = ["test_trigger1", "test_trigger2", "roon", "time"]
|
||||
|
||||
from .test_trigger1 import TestTrigger1
|
||||
from .test_trigger2 import TestTrigger2
|
||||
from .roon import RoonTrigger
|
||||
from .time import TimeTrigger
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
from cpu_governor_auto_adjust.trigger import Trigger
|
||||
from cpu_governor_auto_adjust.config import Config
|
||||
from datetime import datetime, time
|
||||
|
||||
|
||||
class TimeTrigger(Trigger):
|
||||
def __init__(self, _config: Config) -> None:
|
||||
super().__init__(_config)
|
||||
|
||||
def start_time(self) -> time:
|
||||
return datetime.strptime(self.config.custom_config['startTime'], '%H:%M').time()
|
||||
|
||||
def end_time(self) -> time:
|
||||
return datetime.strptime(self.config.custom_config['endTime'], '%H:%M').time()
|
||||
|
||||
def run(self) -> None:
|
||||
self.log.debug("start time: %s, end time: %s", self.start_time(), self.end_time())
|
||||
self.active = self.start_time() <= datetime.now().time() <= self.end_time()
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "cpu_governor_auto_adjust"
|
||||
version = "0.1.30"
|
||||
version = "0.1.31"
|
||||
description = "This application has been developed to automatically change cpu governor based on certain triggers."
|
||||
authors = [
|
||||
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
||||
|
||||
Reference in New Issue
Block a user