home-backup/home_backup/sys_service/rpc.py

30 lines
882 B
Python

from . import snapshot
from .. import defaults, utils
@utils.rpc_callback
async def callback_func(data, uid):
# Get operation
if not isinstance(data, dict):
raise ValueError("data have to be a object.")
if "operation" not in data:
raise ValueError("'operation' isn't set.")
operation = data["operation"]
del data["operation"]
# Run operation
if operation == "create_backup":
# Get args
name = data["name"]
del data["name"]
utils.valid_name_check(name)
# Create snapshot
utils.check_empty_data_dict(data)
return await snapshot.create_snapshot(name, uid)
else:
raise NotImplementedError("%s isn't implemented." & repr(operation))
async def run_deamon(path:str=defaults.DEFAULT_PATH, fork:bool=False):
await utils.run_access_socket(path, callback_func, fork=fork)