PyWxDump/pywxdump/common/config/oss_config/storage_config.py
2024-07-13 22:01:21 +08:00

61 lines
1.1 KiB
Python

from abc import ABC, abstractmethod
TYPE_KEY = "oss_type_key"
class StorageConfig(ABC):
@classmethod
@abstractmethod
def type(cls):
"""返回实现类的类型"""
pass
@classmethod
@abstractmethod
def describe(cls):
"""返回对象存储的描述"""
pass
@abstractmethod
def get_config(self):
"""返回存储配置的字典"""
pass
@abstractmethod
def validate_config(self):
"""验证配置是否合法"""
pass
@classmethod
@abstractmethod
def value_of(cls, config: dict):
pass
@classmethod
@abstractmethod
def isSupported(cls, path: str) -> bool:
pass
class DescriptionBuilder:
LABEL = "label"
PLACEHOLDER = "placeholder"
KEY = "key"
def __init__(self):
self.description = []
def add_description(self, label, placeholder, key):
self.description.append({
self.LABEL: label,
self.PLACEHOLDER: placeholder,
self.KEY: key
})
return self
def build(self):
return self.description