summaryrefslogtreecommitdiff
path: root/ATRI/service/switch.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/service/switch.py')
-rw-r--r--ATRI/service/switch.py79
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!')