Added class Condition

master
alex 2023-08-05 15:53:19 +02:00
parent 4799352c82
commit d02a1beb9e
3 changed files with 17 additions and 7 deletions

View File

@ -14,6 +14,16 @@ class Action(ABC):
pass pass
class Condition(ABC):
def __init__(self, *args, **kwargs):
self.args = args
self.kwargs = kwargs
@abc.abstractmethod
def execute(self, *args, **kwargs):
pass
class LoggMessageAction(Action): class LoggMessageAction(Action):
def execute(self, *args, **kwargs): def execute(self, *args, **kwargs):
@ -44,7 +54,7 @@ class CompressAction(Action):
pass pass
class IsFileExistsAction(Action): class IsFileExistsCondition(Condition):
def execute(self, *args, **kwargs): def execute(self, *args, **kwargs):
path = self.kwargs.get('path') path = self.kwargs.get('path')
@ -55,7 +65,7 @@ class IsFileExistsAction(Action):
return os.path.exists(path) return os.path.exists(path)
class IsDirectoryEmptyAction(Action): class IsDirectoryEmptyCondition(Condition):
def execute(self, *args, **kwargs): def execute(self, *args, **kwargs):
path = self.kwargs.get('path') path = self.kwargs.get('path')

4
app.py
View File

@ -8,13 +8,13 @@ from logger import Logger
class App: class App:
def __init__(self): def __init__(self):
Logger.set_log_file('//testdata/log.txt') Logger.set_log_file('testdata/log.txt')
self._config = Config() self._config = Config()
def start(self): def start(self):
self._config.read_config() self._config.read_config()
self._config.add_entry(Entry('myTest', self._config.add_entry(Entry('myTest',
IsDirectoryEmptyAction(path='//emptydir', entry='myTest'), IsDirectoryEmptyCondition(path='emptydir', entry='myTest'),
LoggMessageAction('success', entry='myTest'), LoggMessageAction('success', entry='myTest'),
LoggMessageAction('fail', entry='myTest'))) LoggMessageAction('fail', entry='myTest')))

View File

@ -1,11 +1,11 @@
from action import Action from action import Action, Condition
class Entry: class Entry:
def __init__(self, name: str, action: Action, success: Action, fail: Action): def __init__(self, name: str, condition: Condition, success: Action, fail: Action):
self._name = name self._name = name
self._action = action self._action = condition
self._success = success self._success = success
self._fail = fail self._fail = fail