E&S CVS Commit: PEAK - More "root" cleanups. 'config.makeRoot()' can now take an 'iniFiles'

pje at eby-sarna.com pje at eby-sarna.com
Wed Apr 30 18:20:01 EDT 2003

Module Name:	PEAK
Committed By:	pje
Date:		Wed Apr 30 22:19:53 UTC 2003

Modified Files:
	PEAK/src/peak/binding: components.py interfaces.py
	PEAK/src/peak/binding/tests: __init__.py
	PEAK/src/peak/config: api_impl.py config_components.py
	PEAK/src/peak/running: interfaces.py
	PEAK/src/peak/running/tests: __init__.py

Log Message:
More "root" cleanups.  'config.makeRoot()' can now take an 'iniFiles'
argument listing file paths (or '(modulename,filename)' tuples) to load;
it defaults to '[('peak','peak.ini')]', providing the default behavior we
know and love. :)

If you create a binding.Component with a parent of 'None', it will now
believe you and make itself a root.  The default value of parentComponent
is now 'NOT_GIVEN', so that if you don't specify a parent, the object will
be "undecided" until it really needs to know who its parent is (at which
point it will be 'None' if it hasn't been "adopted" in the meantime).
Interface docs and tests have been updated to reflect/take advantage of
this.  (Specifically, the tests used to use 'getParentComponent()' to force
a root to acknowledge its orphan status; now they can just *tell* it.)

Finally, I removed the use of weak references from the assembly events
system.  If you created an object, intending that it register itself with
some kind of registry, it could get GC'd before the assembly event kicked
in, unless you specifically held onto a reference until then.  Since
components that don't need assembly events don't register for them, it
seems harmless to use simple references rather than weak ones.

To view diffs of this commit, you can use the following URL(s):

To generate a diff of this commit:
cvs rdiff -r1.99 -r1.100 PEAK/src/peak/binding/components.py
cvs rdiff -r1.10 -r1.11 PEAK/src/peak/binding/interfaces.py
cvs rdiff -r1.31 -r1.32 PEAK/src/peak/binding/tests/__init__.py
cvs rdiff -r1.18 -r1.19 PEAK/src/peak/config/api_impl.py
cvs rdiff -r1.38 -r1.39 PEAK/src/peak/config/config_components.py
cvs rdiff -r1.8 -r1.9 PEAK/src/peak/running/interfaces.py
cvs rdiff -r1.3 -r1.4 PEAK/src/peak/running/tests/__init__.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

More information about the source-changes mailing list