首页 > 编程语言 >python 接口实现类的

python 接口实现类的

时间:2024-08-22 11:50:38浏览次数:8  
标签:ObjectAuth python self 接口 实现 only read config def

定义接口实现

class ObjectAuth(ABC):
    @staticmethod
    def dispatch(type):
        for sub_cls in ObjectAuth.__subclasses__():
            if sub_cls.__name__.lower().find(type.lower()) >= 0:
                return sub_cls
        raise Exception("没有合适的ObjectAuth类进行分配")

    @abstractmethod
    def gen_temp_access_key(self, bucket, resource):
        raise NotImplementedError()

具体实现

class OOSAuth(ObjectAuth):
    def __init__(self, remote_config) -> None:
        self.read_only_ak = remote_config.get('read_only_ak')
        self.read_only_sk = remote_config.get('read_only_sk')

    def gen_temp_access_key(self, bucket, resource):
        return self.read_only_ak, self.read_only_sk, ''

使用实现类方式

auth = ObjectAuth.dispatch(type)(file_uploader_config)
auth.gen_temp_access_key(bucket, resource)

标签:ObjectAuth,python,self,接口,实现,only,read,config,def
From: https://www.cnblogs.com/guanchaoguo/p/18373546

相关文章

  • 简单的mail发送邮件里面的更多东西-postfix-exim MTA试验以及linux下使用mail发送邮件
    一、简单的mail发送邮件里面的更多东西-postfix-eximMTA试验   publish:September27,2018-Thursdaymail发送邮件应该是一个常用的东西,但是从简单的东西切入,也许你会有更多的收获。今天再看了看mail发邮件的东西,真的一个很小的知识点但要弄透不下功夫真的是不行的。......
  • 深入理解 Vue 2 的双向绑定原理与实现
    在Vue2中,双向绑定是Vue的核心功能之一,它通过数据响应式系统使得数据的变化自动反映在视图上,同时用户在视图上做的更改也能够同步回数据模型。这种双向绑定是通过数据劫持(DataHijacking)和发布-订阅模式(Publish-SubscribePattern)实现的。以下是双向绑定原理及实现方式......
  • Levenshtein,一个超强的 Python 库!
    更多Python学习内容:ipengtao.com大家好,今天为大家分享一个超强的Python库-Levenshtein。Github地址:https://github.com/ztane/python-Levenshtein/文本相似性在许多领域如自然语言处理、数据清洗和信息检索中都有广泛应用。Python-Levenshtein库提供了一种有效的方法来计算......
  • 身份证识别、护照OCR、python身份证四要素实名认证API
    翔云身份证实名认证与身份证识别接口让你的APP在众多竞品中脱颖而出,仅需一键上传,用户身份信息便能快速提取,精准核验,告别繁琐的手动输入与反复核验,简化身份验证流程,提升用户体验,现已被广泛应用于电商、在线教育、金融等各类生活服务类APP中。python身份证实名认证接口代码......
  • Python之可变对象及其引用、深拷贝和浅拷贝
    可变对象及其引用深拷贝和浅拷贝可变对象及其引用Python中,变量名关联有值时才存在,如x=5变量名没有关联到特定的类型,类型有关联的对象觉得变量创建后即与特定的Python对象相关联Python维护命名空间,其中改变名与变量关联。这种联系,称为“引用”,也就是变量名引用对象......
  • Python之列表解决实际问题案例(字谜、文件分析)
    字谜文件分析1.《葛底斯堡演说》的长度2、有多少个不同的单词字谜字谜通过重新安排单词里的字母,来组成新的单词或词组。例如,将cinema转换成另一个英语单词iceman。在这个例子中,将设计一个程序,检查两个词是否构成字谜。如何做到这一点?做法是找出两个字谜单词所共享......
  • Python之列表的常用方法(添加删除排序等)
    一、列表的可变性二、列表方法1、不修改列表的方法2、修改列表的方法(1)添加(2)删除(3)列表排序(4)颠倒列表三、练习四、range、split和多重赋值五、使用join在列表和字符串之间转换一、列表的可变性在字符串中,不能直接去替换字符串中指定索引的值,需要使用切片和连接符。......
  • frp实现web服务的内网穿透
    什么是内网穿透?内网穿透是一种技术,它允许用户通过公网访问位于内部网络中的设备或服务。通常情况下,内部网络中的设备不能直接从公网访问,因为它们可能位于防火墙或NAT(网络地址转换)之后。内网穿透通过建立一条从公网到内网的隧道,使用户能够通过公网访问内部设备或服务。这对于需......
  • 七、SPA单页面实现SEO优化之SSR服务器渲染
    前言:关于SPA和SEO优化、SSR服务器渲染的介绍可以参考这里:六、什么是SEO优化(搜索引擎优化)?SPA单页面应用如何实现SEO优化?通过上一篇文章可以了解到,VueSPA单页面应用对SEO不友好,但是也有相应的解决方案。我了解到的SEO的实现方式有以下几种:1.SSR服务器渲染;2.静态化;3.预......
  • springboot接口入参出参日志打印
    @Aspect@Slf4j@Component@Order(-99)publicclassLogHandler{publicstaticMap<String,AtomicInteger>nm=newConcurrentHashMap();@Value("${aop.log.no.enable:true}")privatebooleanenableNo;@Pointcut("execution(*com.te......