| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| |
|
| | from .. import * |
| |
|
| | CMD_HELP = {} |
| | |
| |
|
| |
|
| | class _SudoManager: |
| | def __init__(self): |
| | self.db = None |
| | self.owner = None |
| | self._owner_sudos = [] |
| |
|
| | def _init_db(self): |
| | if not self.db: |
| | from .. import udB |
| |
|
| | self.db = udB |
| | return self.db |
| |
|
| | def get_sudos(self): |
| | db = self._init_db() |
| | SUDOS = db.get_key("SUDOS") |
| | return SUDOS or [] |
| |
|
| | @property |
| | def should_allow_sudo(self): |
| | db = self._init_db() |
| | return db.get_key("SUDO") |
| |
|
| | def owner_and_sudos(self): |
| | if not self.owner: |
| | db = self._init_db() |
| | self.owner = db.get_key("OWNER_ID") |
| | return [self.owner, *self.get_sudos()] |
| |
|
| | @property |
| | def fullsudos(self): |
| | db = self._init_db() |
| | fsudos = db.get("FULLSUDO") |
| | if not self.owner: |
| | self.owner = db.get_key("OWNER_ID") |
| | if not fsudos: |
| | return [self.owner] |
| | fsudos = fsudos.split() |
| | fsudos.append(self.owner) |
| | return [int(_) for _ in fsudos] |
| |
|
| | def is_sudo(self, id_): |
| | return bool(id_ in self.get_sudos()) |
| |
|
| |
|
| | SUDO_M = _SudoManager() |
| | owner_and_sudos = SUDO_M.owner_and_sudos |
| | sudoers = SUDO_M.get_sudos |
| | is_sudo = SUDO_M.is_sudo |
| |
|
| | |
| |
|
| |
|
| | def append_or_update(load, func, name, arggs): |
| | if isinstance(load, list): |
| | return load.append(func) |
| | if isinstance(load, dict): |
| | if load.get(name): |
| | return load[name].append((func, arggs)) |
| | return load.update({name: [(func, arggs)]}) |
| |
|