E&S CVS Commit: PEAK - Major overhaul of the traversal mechanisms in 'peak.web', including

pje at eby-sarna.com pje at eby-sarna.com
Thu Sep 30 19:00:00 EDT 2004


Module Name:	PEAK
Committed By:	pje
Date:		Thu Sep 30 22:59:07 UTC 2004

Modified Files:
	PEAK: CHANGES.txt
	PEAK/src/peak/web: environ.py interfaces.py places.py resources.py
	PEAK/src/peak/web/tests: test_environ.py

Log Message:
Major overhaul of the traversal mechanisms in 'peak.web', including
streamlining of traversal interfaces to avoid creating extra contexts and
then stripping them back off.

Most 'peak.web' interfaces have changed significantly.  If you implemented
anything based on the older interfaces, and it still works, it's sheer
bloody luck!  In particular, note that every method in
'web.IWebTraversable' now has different inputs and/or outputs than before.
Please read the new interface docs and update your code!  The changed
interfaces offer much more flexibility and functionality than before, but
they will *require* you to update your code if you implemented any of the
affected interfaces.

'web.ContainerAsTraversable' has been removed.  It was redundant, since the
new default traversal mechanism used by 'Traversable' and 'Decorator' now
handles getitem, getattr, and views.

This completes the bulk of the traversal namespace refactoring; hopefully
these interfaces have now stabilized sufficiently.  The only major issue
remaining is permissions on views, and there is a small but nonzero chance
that resolving the issue will affect an interface somewhere.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/CHANGES.txt.diff?r1=1.146&r2=1.147
http://cvs.eby-sarna.com/PEAK/src/peak/web/environ.py.diff?r1=1.9&r2=1.10
http://cvs.eby-sarna.com/PEAK/src/peak/web/interfaces.py.diff?r1=1.33&r2=1.34
http://cvs.eby-sarna.com/PEAK/src/peak/web/places.py.diff?r1=1.31&r2=1.32
http://cvs.eby-sarna.com/PEAK/src/peak/web/resources.py.diff?r1=1.29&r2=1.30
http://cvs.eby-sarna.com/PEAK/src/peak/web/tests/test_environ.py.diff?r1=1.7&r2=1.8

To generate a diff of this commit:
cvs rdiff -r1.146 -r1.147 PEAK/CHANGES.txt
cvs rdiff -r1.9 -r1.10 PEAK/src/peak/web/environ.py
cvs rdiff -r1.33 -r1.34 PEAK/src/peak/web/interfaces.py
cvs rdiff -r1.31 -r1.32 PEAK/src/peak/web/places.py
cvs rdiff -r1.29 -r1.30 PEAK/src/peak/web/resources.py
cvs rdiff -r1.7 -r1.8 PEAK/src/peak/web/tests/test_environ.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