This commit is contained in:
@@ -1,42 +1,42 @@
|
||||
# directory actions registry
|
||||
from playbook.action_registry import ActionRegistry
|
||||
from playbook.models import StepLog
|
||||
from playbook.logging_models import StepLogModel
|
||||
|
||||
import os
|
||||
|
||||
|
||||
diract = ActionRegistry("directory_actions_reg")
|
||||
diract = ActionRegistry(name="directory_actions_reg")
|
||||
|
||||
|
||||
@diract.register(name="directory_exists", version="stat1.0")
|
||||
def directory_exists(ctx, name) -> StepLog:
|
||||
def directory_exists(ctx, name) -> StepLogModel:
|
||||
if not os.path.exists(ctx["repoPath"]):
|
||||
return StepLog.fail(name, [
|
||||
return StepLogModel.fail(name, [
|
||||
{"status": "failed", "output": f"dir '{ctx["repoPath"]}' doesn't exist"}]
|
||||
)
|
||||
return StepLog.ok(name, "directory exists")
|
||||
return StepLogModel.ok(name, "directory exists")
|
||||
|
||||
|
||||
@diract.register(name="create_dir", version="stat1.0")
|
||||
def create_dir(ctx, name) -> StepLog:
|
||||
def create_dir(ctx, name) -> StepLogModel:
|
||||
try:
|
||||
os.makedirs(ctx["repoPath"])
|
||||
except Exception as e:
|
||||
return StepLog.fail(name, [{"status": "failed", "output": str(e)}])
|
||||
return StepLogModel.fail(name, [{"status": "failed", "output": str(e)}])
|
||||
|
||||
return StepLog.ok(name, "dir create successfully")
|
||||
return StepLogModel.ok(name, "dir create successfully")
|
||||
|
||||
|
||||
@diract.register(name="create_dir_if_not_exists", version="stat1.0")
|
||||
def create_dir_if_not_exists(ctx, name) -> StepLog:
|
||||
log: StepLog = directory_exists(ctx, name + f".{directory_exists.__name__}")
|
||||
def create_dir_if_not_exists(ctx, name) -> StepLogModel:
|
||||
log: StepLogModel = directory_exists(ctx, name + f".{directory_exists.__name__}")
|
||||
msg: str = ""
|
||||
if log.failed:
|
||||
dir_creation_log: StepLog = create_dir(ctx, name + f".{create_dir.__name__}")
|
||||
dir_creation_log: StepLogModel = create_dir(ctx, name + f".{create_dir.__name__}")
|
||||
if dir_creation_log.failed:
|
||||
return StepLog.fail(name, [{"status": "failed", "output": dir_creation_log}])
|
||||
return StepLogModel.fail(name, [{"status": "failed", "output": dir_creation_log}])
|
||||
msg = "dir created succesfully"
|
||||
else:
|
||||
msg = "dir already exists"
|
||||
|
||||
return StepLog.ok(name, msg)
|
||||
return StepLogModel.ok(name, msg)
|
||||
|
||||
Reference in New Issue
Block a user