#!/usr/bin/env python3 # -*- encoding: utf-8 -*- ''' @File : __init__.py @Time : 2020/10/11 14:44:06 @Author : Kyomotoi @Contact : kyomotoiowo@gmail.com @Github : https://github.com/Kyomotoi @License : Copyright © 2018-2020 Kyomotoi, All Rights Reserved. ''' __author__ = 'kyomotoi' import os import json from pathlib import Path from typing import Optional def checkSwitch(func_name: str, group: str) -> bool: """ :说明: 判断此功能针对 群 或 全体 是否开启。 :参数: * ``func_name: str``: 功能名称 * ``group: str``: 功能触发所在群号 :返回: 是:True | 否:False :用法: .. code-block:: python switch(func_name=Func, group=123456789) """ file_switch_all = Path('.') / 'utils' / 'utils_switch' / 'switch.json' file_switch_alone = Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}' / 'switch.json' try: with open(file_switch_all, 'r') as f: data_switch_all = json.load(f) except: data_switch_all = {} data_switch_all["anime-setu"] = "True" data_switch_all["anime-pic-search"] = "True" data_switch_all["anime-vid-search"] = "True" data_switch_all["ai-face"] = "True" data_switch_all["pixiv-pic-search"] = "True" data_switch_all["pixiv-author-search"] = "True" data_switch_all["pixiv-rank"] = "True" with open(file_switch_all, 'w') as f: f.write(json.dumps(data_switch_all)) f.close() try: with open(file_switch_alone, 'r') as f: data_switch_alone = json.load(f) except: data_switch_alone = {} try: os.mkdir(Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}') except: pass data_switch_alone["anime-setu"] = "True" data_switch_alone["anime-pic-search"] = "True" data_switch_alone["anime-vid-search"] = "True" data_switch_alone["ai-face"] = "True" data_switch_alone["pixiv-pic-search"] = "True" data_switch_alone["pixiv-author-search"] = "True" data_switch_alone["pixiv-rank"] = "True" with open(file_switch_alone, 'w') as f: f.write(json.dumps(data_switch_alone)) f.close() if data_switch_all[func_name] == "True": if data_switch_alone[func_name] == "True": return True else: return False else: return False def controlSwitch(func_name: str, control: bool, group: Optional[str] = None) -> str: """ :说明: 目标功能针对 群 或 全体 开启或关闭。 :参数: * ``func_name: str``: 功能名称 * ``control: bool``: 开启 / 关闭 * ``group: Optional[str] = None``: 对应群号,若不传入则为全局 :返回: None :用法: .. code-block:: python controlSwitch(func_name=Func, group=123456789) """ file_switch_all = Path('.') / 'utils' / 'utils_switch' / 'switch.json' if group: file_switch_group = Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}' / 'switch.json' try: with open(file_switch_group, 'r') as f: data_switch_group = json.load(f) except: data_switch_group = {} if data_switch_group[f"{func_name}"]: pass else: return f"Can't find func({func_name})" data_switch_group[f"{func_name}"] = f"{control}" with open(file_switch_group, 'w') as f: f.write(json.dumps(data_switch_group)) f.close() else: pass try: with open(file_switch_all, 'r') as f: data_switch_all = json.load(f) except: data_switch_all = {} if data_switch_all[f"{func_name}"]: pass else: return f"Can't find func({func_name})" data_switch_all[f"{func_name}"] = f"{control}" with open(file_switch_all, 'w') as f: f.write(json.dumps(data_switch_all)) f.close() if control == True: if group: msg = f"({func_name}) has been opened for group ({group})!" else: msg = f"({func_name}) has been opened!" else: if group: msg = f"({func_name}) has been closed for group ({group})!" else: msg = f"({func_name}) has been closed!" return msg