2023-11-26 22:46:27 +08:00
|
|
|
import abc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ConfigFile(metaclass=abc.ABCMeta):
|
2025-07-10 11:01:16 +08:00
|
|
|
"""Config file abstract class"""
|
2023-11-26 22:46:27 +08:00
|
|
|
|
|
|
|
|
config_file_name: str = None
|
2025-07-10 11:01:16 +08:00
|
|
|
"""Config file name"""
|
2023-11-26 22:46:27 +08:00
|
|
|
|
|
|
|
|
template_file_name: str = None
|
2025-07-10 11:01:16 +08:00
|
|
|
"""Template file name"""
|
2023-11-26 22:46:27 +08:00
|
|
|
|
2024-03-20 14:20:56 +08:00
|
|
|
template_data: dict = None
|
2025-07-10 11:01:16 +08:00
|
|
|
"""Template data"""
|
2024-03-20 14:20:56 +08:00
|
|
|
|
2023-11-26 22:46:27 +08:00
|
|
|
@abc.abstractmethod
|
|
|
|
|
def exists(self) -> bool:
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
@abc.abstractmethod
|
|
|
|
|
async def create(self):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
@abc.abstractmethod
|
2025-04-29 17:24:07 +08:00
|
|
|
async def load(self, completion: bool = True) -> dict:
|
2023-11-26 22:46:27 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
@abc.abstractmethod
|
|
|
|
|
async def save(self, data: dict):
|
|
|
|
|
pass
|
2024-03-14 16:00:22 +08:00
|
|
|
|
|
|
|
|
@abc.abstractmethod
|
|
|
|
|
def save_sync(self, data: dict):
|
|
|
|
|
pass
|