Class PluginManager
source code
object --+
|
PluginManager
Plugin Manager is similar to a storage object but it is a single level
singleton this means that multiple instances within the same thread share
the same attributes Its constructor is also special. The first argument
is the name of the plugin you are defining. The named arguments are
parameters needed by the plugin with default values. If the parameters
were previous defined, the old values are used.
For example:
### in some general configuration file: >>> plugins =
PluginManager() >>> plugins.me.param1=3
### within the plugin model >>> _ =
PluginManager('me',param1=5,param2=6,param3=7)
### where the plugin is used >>> print plugins.me.param1 3
>>> print plugins.me.param2 6 >>> plugins.me.param3 = 8
>>> print plugins.me.param3 8
Here are some tests:
>>> a=PluginManager()
>>> a.x=6
>>> b=PluginManager('check')
>>> print b.x
6
>>> b=PluginManager()
>>> print b.x
<Storage {}>
>>> b.x=7
>>> print a.x
7
>>> a.y.z=8
>>> print b.y.z
8
>>> test_thread_separation()
5
>>> plugins=PluginManager('me',db='mydb')
>>> print plugins.me.db
mydb
>>> print 'me' in plugins
True
>>> print plugins.me.installed
True
|
__init__(self,
plugin=1,
**defaults)
x.__init__(...) initializes x; see x.__class__.__doc__ for
signature |
source code
|
|
|
|
|
|
|
|
Inherited from object :
__delattr__ ,
__getattribute__ ,
__hash__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__str__
|
Inherited from object :
__class__
|
- Returns:
a new object with type S, a subtype of T
- Overrides:
object.__new__
- (inherited documentation)
|
__init__(self,
plugin=1,
**defaults)
(Constructor)
| source code
|
x.__init__(...) initializes x; see x.__class__.__doc__ for
signature
- Overrides:
object.__init__
- (inherited documentation)
|