diff options
Diffstat (limited to 'ATRI/service/switch.py')
-rw-r--r-- | ATRI/service/switch.py | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/ATRI/service/switch.py b/ATRI/service/switch.py deleted file mode 100644 index b97a0ec..0000000 --- a/ATRI/service/switch.py +++ /dev/null @@ -1,79 +0,0 @@ -import json -import aiofiles -from typing import Optional - -from ATRI.exceptions import InvalidWriteText - -from . import SERVICE_PATH - - -class Switch: - filename = 'switch.service.json' - path = SERVICE_PATH / filename - path.parent.mkdir(exist_ok=True, parents=True) - try: - data = json.loads(path.read_bytes()) - except: - data = {} - - @classmethod - def get_service(cls) -> dict: - return cls.data - - @classmethod - async def auth_service( - cls, service: str, group: Optional[int] = None) -> bool: - cls.data.setdefault('global', {}) - cls.data.setdefault(group, {}) - if service not in cls.data['global']: - cls.data['global'][service] = True - if service not in cls.data[group]: - cls.data[group][service] = True - try: - async with aiofiles.open( - cls.path, 'w', encoding='utf-8') as target: - await target.write( - json.dumps( - cls.data, indent=4 - ) - ) - except InvalidWriteText: - raise InvalidWriteText('Writing file failed!') - else: - pass - - if cls.data['global'][service]: - return True if cls.data[group][service] else False - else: - return False - - @classmethod - async def control_service(cls, service: str, _type: bool, - group: Optional[str]) -> None: - if service not in cls.data: - cls.data['global'][service] = True - cls.data[group][service] = True - try: - async with aiofiles.open( - cls.path, 'w', encoding='utf-8') as target: - await target.write( - json.dumps( - cls.data, indent=4 - ) - ) - except InvalidWriteText: - raise InvalidWriteText('Writing file failed!') - if group: - cls.data[group][service] = _type - else: - cls.data['global'][service] = _type - try: - async with aiofiles.open( - cls.path, 'w', encoding='utf-8') as target: - await target.write( - json.dumps( - cls.data, indent=4 - ) - ) - except InvalidWriteText: - raise InvalidWriteText('Writing file failed!') |