[svn r63808] * refinements/renames to new PluginAPI

* have pytest_runner start to use it, passes the main test

--HG--
branch : trunk
This commit is contained in:
hpk
2009-04-07 22:46:50 +02:00
parent 50664c1e17
commit f14fc582e9
8 changed files with 31 additions and 21 deletions

View File

@@ -159,14 +159,16 @@ class PyPlugins:
MultiCall(self.listattr("pyevent"), eventname, args, kwargs).execute()
class MultiAPI:
def __init__(self, apiclass, plugins, prefix):
for fullname in vars(apiclass):
if fullname[:2] != "__":
assert fullname.startswith(prefix)
name = fullname[len(prefix):]
mm = CallMaker(plugins, fullname)
class PluginAPI:
def __init__(self, apiclass, plugins):
self._apiclass = apiclass
self._plugins = plugins
for name in vars(apiclass):
if name[:2] != "__":
mm = CallMaker(plugins, name)
setattr(self, name, mm)
def __repr__(self):
return "<PluginAPI %r %r>" %(self._apiclass, self._plugins)
class CallMaker:
def __init__(self, plugins, name):