我有一个接口,如:
class IRepository(Interface):
def __init__(path, **options):
pass
我为 Git 和 Mercurial 实现了这个接口。现在我想编写存储库工厂,它接受一个字符串(路径)并返回一个 IRepository,通过探测它是一个存储库git
还是hg
存储库。
然而,简单地说:
registerAdapter(repofactory, (str, unicode, ), IRepository)
不起作用,导致既不str
也不unicode
支持该IInterface
接口。
现在,我将使用:
registerAdapter(repofactory, (Interface, ), IRepository)
但我想知道是否有只匹配字符串对象和其他 Python 内置类型的接口。