E&S CVS Commit: PEAK - * Added 'binding.Constant(key, value)', which allows you to specify

pje at eby-sarna.com pje at eby-sarna.com
Mon Nov 4 21:20:01 EST 2002

Module Name:	PEAK
Committed By:	pje
Date:		Tue Nov  5 02:19:47 UTC 2002

Modified Files:
	PEAK/src/peak: peak.ini
	PEAK/src/peak/binding: components.py meta.py once.py
	PEAK/src/peak/config: api_impl.py config_components.py
	PEAK/src/peak/storage: transactions.py
	PEAK/src/peak/storage/tests: __init__.py

Log Message:
* Added 'binding.Constant(key, value)', which allows you to specify
  a constant value to be used as a property or utility in that
  component subtree.

* Added storage.get/begin/commit/abortTransaction() APIs for ease
  of use in short scripts.  Defined a default provider for
  ITransactionService in peak.ini that provides each component root
  with its own TransactionService instance.  It's easily replaceable
  with other allocation strategies, if it should be needed.  I may
  change this later to a per-root strategy, since the current strategy
  requires creating localConfigs for each component root.  We'll see
  what actual use has to say about the best way of doing it.

* Fixed a problem with local/global config object startup that could
  cause "phantom" configuration objects to appear via recursion of
  getLocal() or getGlobal().

* Got rid of binding.meta.assertInterfaces, which is no longer needed
  because the Interface package now correctly handles metaclass

* Got rid of Singleton, since it's not used for anything and I could
  neither think of any use cases nor remember why I added it in the
  first place!

* Made it possible for CachingProviders to cache per-localConfig as well
  as per-object.  This is handy for implementing per-hierarchy services,
  like the TransactionService provider mentioned above.

* Misc. TODO updates.

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

To generate a diff of this commit:
cvs rdiff -r1.14 -r1.15 PEAK/TODO.txt
cvs rdiff -r1.3 -r1.4 PEAK/src/peak/peak.ini
cvs rdiff -r1.51 -r1.52 PEAK/src/peak/binding/components.py
cvs rdiff -r1.22 -r1.23 PEAK/src/peak/binding/meta.py
cvs rdiff -r1.19 -r1.20 PEAK/src/peak/binding/once.py
cvs rdiff -r1.8 -r1.9 PEAK/src/peak/config/api_impl.py
cvs rdiff -r1.14 -r1.15 PEAK/src/peak/config/config_components.py
cvs rdiff -r1.13 -r1.14 PEAK/src/peak/storage/transactions.py
cvs rdiff -r1.4 -r1.5 PEAK/src/peak/storage/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