[Zope-Checkins] SVN: Zope/branches/philikon-local-components/ Branch for some minor modifications to Zope 2 regarding the work on local
Log message for revision 65856: Branch for some minor modifications to Zope 2 regarding the work on local component registration. They're minor, but break Five tests, hence the branch. Changed: A Zope/branches/philikon-local-components/ -=- Copied: Zope/branches/philikon-local-components (from rev 65855, Zope/trunk) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/zope/ Switch some essential zope.* packages to Jim's adapter branch
Log message for revision 65857: Switch some essential zope.* packages to Jim's adapter branch Changed: _U Zope/branches/philikon-local-components/lib/python/zope/ -=- Property changes on: Zope/branches/philikon-local-components/lib/python/zope ___ Name: svn:externals - app -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18n i18nmessageid-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18nmessageid interface-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/repos/main/zope.testing/trunk/src/zope/testing thread -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/thread deprecation -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/deprecation dottedname -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/dottedname formlib -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/formlib index-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/index testbrowser -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/testbrowser + app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18n i18nmessageid-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/repos/main/zope.testing/trunk/src/zope/testing thread -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/thread deprecation -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/deprecation dottedname -r 41215 svn://svn.zope.org/repos/main
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/Products/ Switch included Five to local component branch so people can check it out
Log message for revision 65858: Switch included Five to local component branch so people can check it out more easily. Changed: _U Zope/branches/philikon-local-components/lib/python/Products/ -=- Property changes on: Zope/branches/philikon-local-components/lib/python/Products ___ Name: svn:externals - Five svn://svn.zope.org/repos/main/Products.Five/tags/1.3.2 + Five svn://svn.zope.org/repos/main/Products.Five/branches/philikon-local-components ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/OFS/ Make ObjectManager an IPossibleSite.
Log message for revision 65859: Make ObjectManager an IPossibleSite. Changed: U Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py U Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py -=- Modified: Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py === --- Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py 2006-03-07 16:27:21 UTC (rev 65858) +++ Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py 2006-03-07 16:28:46 UTC (rev 65859) @@ -46,6 +46,7 @@ from ZODB.POSException import ConflictError from zope.interface import implements +from zope.component.interfaces import ComponentLookupError import CopySupport from interfaces import IObjectManager @@ -166,6 +167,19 @@ isPrincipiaFolderish=1 +# IPossibleSite API + +_components = None + +def getSiteManager(self): +if self._components is None: +raise ComponentLookupError('No component registry defined.') +return self._components + +def setSiteManager(self, components): +self._components = components + + def __class_init__(self): try:mt=list(self.meta_types) except: mt=[] Modified: Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py === --- Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py 2006-03-07 16:27:21 UTC (rev 65858) +++ Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py 2006-03-07 16:28:46 UTC (rev 65859) @@ -28,6 +28,7 @@ from webdav.interfaces import IDAVResource from zope.app.traversing.interfaces import IContainmentRoot +from zope.app.component.interfaces import IPossibleSite class IOrderedContainer(Interface): @@ -476,13 +477,12 @@ # not synced with ZopeBook API Reference; # based on OFS.ObjectManager.ObjectManager class IObjectManager(IZopeObject, ICopyContainer, INavigation, IManageable, - IAcquirer, IPersistent, IDAVCollection, ITraversable): - + IAcquirer, IPersistent, IDAVCollection, ITraversable, + IPossibleSite): """Generic object manager This interface provides core behavior for collections of heterogeneous -objects. -""" +objects.""" meta_types = Tuple( title=u"Meta types", ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/zope/ Also switch zope.deprecation (because I implemented a @deprecate decorator
Log message for revision 65861: Also switch zope.deprecation (because I implemented a @deprecate decorator on the branch that's needed by zope.component) and zope.security (because something in zope.app.authentication needs it) to the branch. Changed: _U Zope/branches/philikon-local-components/lib/python/zope/ -=- Property changes on: Zope/branches/philikon-local-components/lib/python/zope ___ Name: svn:externals - app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18n i18nmessageid-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/repos/main/zope.testing/trunk/src/zope/testing thread -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/thread deprecation -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/deprecation dottedname -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/dottedname formlib -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/formlib index-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/index testbrowser -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/testbrowser deferredimport svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/deferredimport + app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18n i18nmessageid-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/re
[Zope-Checkins] SVN: Products.Five/trunk/version.txt bump version number on the trunk
Log message for revision 65916: bump version number on the trunk Changed: U Products.Five/trunk/version.txt -=- Modified: Products.Five/trunk/version.txt === --- Products.Five/trunk/version.txt 2006-03-11 18:21:27 UTC (rev 65915) +++ Products.Five/trunk/version.txt 2006-03-12 10:49:21 UTC (rev 65916) @@ -1 +1 @@ -Five 1.4 unreleased +Five 1.5 unreleased ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.4/INSTALL.txt Update install docs
Log message for revision 65917: Update install docs Changed: U Products.Five/branches/1.4/INSTALL.txt -=- Modified: Products.Five/branches/1.4/INSTALL.txt === --- Products.Five/branches/1.4/INSTALL.txt 2006-03-12 10:49:21 UTC (rev 65916) +++ Products.Five/branches/1.4/INSTALL.txt 2006-03-12 10:54:38 UTC (rev 65917) @@ -1,14 +1,14 @@ How to install Five === -Requirements for Five 1.3 +Requirements for Five 1.4 - -* Zope 2.9+ with Python 2.4.1+ +* Zope 2.9 with Python 2.4.1+ -Note that Five 1.3 is already part of Zope 2.9. You can still install -a newer Five version in your instance, if you like. It will override -the Five product inside the Zope tree. +Note that Five 1.3 is part of Zope 2.9. You can still install a newer +Five version (e.g. Five 1.4) in your instance, if you like. It will +override the Five product inside the Zope tree. Compatability matrix @@ -26,7 +26,7 @@ Five 1.1[#]_X X Five 1.2 X Five 1.3 included -Five trunk X +Five 1.4 X === === .. [#] This branch is no longer actively maintained. ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/trunk/INSTALL.txt update install docs
Log message for revision 65918: update install docs Changed: U Products.Five/trunk/INSTALL.txt -=- Modified: Products.Five/trunk/INSTALL.txt === --- Products.Five/trunk/INSTALL.txt 2006-03-12 10:54:38 UTC (rev 65917) +++ Products.Five/trunk/INSTALL.txt 2006-03-12 10:56:46 UTC (rev 65918) @@ -1,14 +1,14 @@ How to install Five === -Requirements for Five 1.3 +Requirements for Five 1.5 - -* Zope 2.9+ with Python 2.4.1+ +* Zope 2.10 with Python 2.4.1+ -Note that Five 1.3 is already part of Zope 2.9. You can still install -a newer Five version in your instance, if you like. It will override -the Five product inside the Zope tree. +Note that Five 1.5 is already part of Zope 2.10. You can still +install a newer Five version in your instance, if you like. It will +override the Five product inside the Zope tree. Compatability matrix @@ -17,17 +17,18 @@ The following table shows which Five version can and should be used with which Zope 2 and Zope 3 versions. - === === -.Zope 2.7 Zope 2.8 Zope 2.9 - --- --- -.Zope X3 3.0 (not incl.) Zope X3 3.0 Zope 3.2 - === === + === === = +.Zope 2.7 Zope 2.8 Zope 2.9 Zope 2.10 + --- --- - +.Zope X3 3.0 (not incl.) Zope X3 3.0 Zope 3.2 Zope 3.3 + === === = Five 1.0X included Five 1.1[#]_X X Five 1.2 X Five 1.3 included -Five trunk X - === === +Five 1.4 X +Five trunkincluded + === === = .. [#] This branch is no longer actively maintained. ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/ Branch for fixing http://codespeak.net/pipermail/z3-five/2006q1/001186.html.
Log message for revision 65921: Branch for fixing http://codespeak.net/pipermail/z3-five/2006q1/001186.html. Changed: A Products.Five/branches/philikon-fix-lookup-priorities/ -=- Copied: Products.Five/branches/philikon-fix-lookup-priorities (from rev 65920, Products.Five/branches/1.3) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/tests/testing/fancycontent.py On special attributes, FancyContent's __bobo_traverse__ method doesn't
Log message for revision 65922: On special attributes, FancyContent's __bobo_traverse__ method doesn't return attributes but raises errors. We want this for testing the behaviour of existing __bobo_traverse__ methods. Changed: U Products.Five/branches/philikon-fix-lookup-priorities/tests/testing/fancycontent.py -=- Modified: Products.Five/branches/philikon-fix-lookup-priorities/tests/testing/fancycontent.py === --- Products.Five/branches/philikon-fix-lookup-priorities/tests/testing/fancycontent.py 2006-03-12 18:14:53 UTC (rev 65921) +++ Products.Five/branches/philikon-fix-lookup-priorities/tests/testing/fancycontent.py 2006-03-12 18:22:05 UTC (rev 65922) @@ -52,11 +52,19 @@ security = ClassSecurityInfo() def __bobo_traverse__(self, REQUEST, name): +if name == 'raise-attributeerror': +raise AttributeError(name) +elif name == 'raise-keyerror': +raise KeyError(name) +elif name == 'raise-valueerror': +raise ValueError(name) return FancyAttribute(name).__of__(self) def get_size(self): return 43 +InitializeClass(FancyContent) + # A copy of the above class used to demonstrate some baseline behavior class NonTraversableFancyContent(SimpleItem): """A class that already comes with its own __bobo_traverse__ handler. @@ -70,12 +78,18 @@ security = ClassSecurityInfo() def __bobo_traverse__(self, REQUEST, name): +if name == 'raise-attributeerror': +raise AttributeError(name) +elif name == 'raise-keyerror': +raise KeyError(name) +elif name == 'raise-valueerror': +raise ValueError(name) return FancyAttribute(name).__of__(self) def get_size(self): return 43 -InitializeClass(FancyContent) +InitializeClass(NonTraversableFancyContent) def manage_addFancyContent(self, id, REQUEST=None): """Add the fancy fancy content.""" ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/ Fix http://codespeak.net/pipermail/z3-five/2006q1/001186.html:
Log message for revision 65923: Fix http://codespeak.net/pipermail/z3-five/2006q1/001186.html: Modeled Five's __bobo_traverse__ very much like BaseRequest.traverse: 1. Look for an existing __bobo_traverse__ (in Five's case, it's called __fallback_traverse__) and call it if it exists 2. If not, try attribute lookup (possibly without acquisition wrappers for WebDAV non-POST/non-GET requests) or key item lookup. 3. If all that doesn't work, we try view lookup. This used to be #1 and would therefore shadow existing attributes. Changed: U Products.Five/branches/philikon-fix-lookup-priorities/browser/tests/test_traversable.py U Products.Five/branches/philikon-fix-lookup-priorities/fiveconfigure.py U Products.Five/branches/philikon-fix-lookup-priorities/traversable.py -=- Modified: Products.Five/branches/philikon-fix-lookup-priorities/browser/tests/test_traversable.py === --- Products.Five/branches/philikon-fix-lookup-priorities/browser/tests/test_traversable.py 2006-03-12 18:22:05 UTC (rev 65922) +++ Products.Five/branches/philikon-fix-lookup-priorities/browser/tests/test_traversable.py 2006-03-12 18:27:36 UTC (rev 65923) @@ -67,7 +67,8 @@ ... - ... + ... + ... ... - ... + ... + ... + ... ... ''' >>> zcml.load_string(configure_zcml) @@ -92,23 +107,50 @@ ... something-else -Of course we also need to make sure that Zope 3 style view lookup -actually works: +Once we have a custom __bobo_traverse__ method, though, it always +takes over. Therefore, unless it raises AttributeError or +KeyError, it will be the only way traversal is done. >>> print http(r''' ... GET /test_folder_1_/fancy/fancyview HTTP/1.1 ... ''') HTTP/1.1 200 OK ... + fancyview + +As said, if the original __bobo_traverse__ method *does* raise +AttributeError or KeyError, we can get normal view look-up. Other +exceptions are passed through just fine: + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-attributeerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... Fancy, fancy - + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-keyerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... + Fancy, fancy + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 + ... ''') + HTTP/1.1 500 Internal Server Error + ... + ...ValueError: raise-valueerror + ... + Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct attribute/item lookup to do normal lookup. In the Zope 2 ZPublisher, an object with a __bobo_traverse__ will not do attribute lookup unless the __bobo_traverse__ method itself does it (i.e. the __bobo_traverse__ is the only element used for traversal lookup). Let's demonstrate: - + >>> from Products.Five.tests.testing.fancycontent import manage_addNonTraversableFancyContent >>> info = manage_addNonTraversableFancyContent(self.folder, 'fancy_zope2', '') >>> self.folder.fancy_zope2.an_attribute = 'This is an attribute' @@ -118,7 +160,7 @@ HTTP/1.1 200 OK ... an_attribute - + Without a __bobo_traverse__ method this would have returned the attribute value 'This is an attribute'. Let's make sure the same thing happens for an object that has been marked traversable by Five: @@ -154,6 +196,70 @@ False """ +def test_view_doesnt_shadow_attribute(): +""" +Test that views don't shadow attributes, e.g. items in a folder. + +Let's first define a browser page for object managers called +``eagle``: + + >>> configure_zcml = ''' + ... http://namespaces.zope.org/zope"; + ...xmlns:meta="http://namespaces.zope.org/meta"; + ...xmlns:browser="http://namespaces.zope.org/browser"; + ...xmlns:five="http://namespaces.zope.org/five";> + ... + ... + ... + ... ''' + >>> import Products.Five + >>> from Products.Five import zcml + >>> zcml.load_config("configure.zcml", Products.Five) + >>> zcml.load_string(configure_zcml) + +Then we create a traversable folder... + + >>> from Products.Five.tests.testing.folder import manage_addFiveTraversableFolder + >>> manage_addFiveTraversableFolder(self.folder, 'ftf') + +and add an object called ``eagle`` to it: + + >>> from Products.Five.tests.testing.simplecontent import manage_addIndexSimpleContent + >>> manage_addIndexSimpleContent(self.folder.ftf, 'eagle', 'Eagle') + +When we publish the ``ftf/eagle`` now, we expect the attribute to +take precedence over th
[Zope-Checkins] SVN: Zope/branches/2.9/test.py Backport jinty's r41392:
Log message for revision 65924: Backport jinty's r41392: Have test.py remove iself from the pythonpath. Changed: U Zope/branches/2.9/test.py -=- Modified: Zope/branches/2.9/test.py === --- Zope/branches/2.9/test.py 2006-03-12 18:27:36 UTC (rev 65923) +++ Zope/branches/2.9/test.py 2006-03-12 18:37:59 UTC (rev 65924) @@ -21,6 +21,10 @@ import os.path, sys +# Remove this directory from path: +here = os.path.abspath(os.path.dirname(sys.argv[0])) +sys.path[:] = [p for p in sys.path if os.path.abspath(p) != here] + shome = os.environ.get('SOFTWARE_HOME') zhome = os.environ.get('ZOPE_HOME') ihome = os.environ.get('INSTANCE_HOME') ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/component/ try and improve the UI of the view listing a bit by mangling file names
Log message for revision 66158: try and improve the UI of the view listing a bit by mangling file names a bit and displaying a table. Changed: U Products.Five/branches/philikon-local-components/component/browser.py U Products.Five/branches/philikon-local-components/component/templateviews.pt U Products.Five/branches/philikon-local-components/component/tests.py -=- Modified: Products.Five/branches/philikon-local-components/component/browser.py === --- Products.Five/branches/philikon-local-components/component/browser.py 2006-03-24 22:29:19 UTC (rev 66157) +++ Products.Five/branches/philikon-local-components/component/browser.py 2006-03-25 11:04:50 UTC (rev 66158) @@ -26,6 +26,7 @@ import zope.interface import zope.component +import zope.dottedname.resolve from zope.component.globalregistry import base from zope.component.persistentregistry import PersistentComponents from zope.publisher.interfaces.browser import IBrowserRequest @@ -72,6 +73,48 @@ self.context.setSiteManage(None) +def mangleAbsoluteFilename(filename): +""" +Mangle an absolute filename when the file happens to be in a +package. The mangled name will then be of the form:: + + /. + +For example, let's take Five's configure.zcml as an example. We +assemble it in an OS-independent way so this test works on all +platforms: + + >>> def filesystemPath(*elements): + ... return os.path.sep.join(elements) + +We see that the filename is now mangled: + + >>> mangleAbsoluteFilename(filesystemPath( + ... '', 'path', 'to', 'Products', 'Five', 'configure.zcml')) + 'Products.Five/configure.zcml' + +The name of a file that's not in a package is returned unchanged: + + >>> not_in_a_package = filesystemPath('', 'path', 'to', 'configure.zcml') + >>> mangleAbsoluteFilename(not_in_a_package) == not_in_a_package + True +""" +if not os.path.isabs(filename): +raise ValueError("Can only determine package for absolute filenames") +dir, basename = os.path.split(filename) +pieces = dir.split(os.path.sep) +if pieces[0] == '': +pieces = pieces[1:] +while pieces: +try: +zope.dottedname.resolve.resolve('.'.join(pieces)) +break +except ImportError: +pieces = pieces[1:] +if not pieces: +return filename +return '.'.join(pieces) + '/' + basename + class CustomizationView(BrowserView): def templateViewRegistrations(self): @@ -86,6 +129,18 @@ factory.__name__.startswith('SimpleViewClass'): yield reg +def templateViewRegInfo(self): +def regkey(reg): +return reg.name +for reg in sorted(self.templateViewRegistrations(), key=regkey): +yield { +'viewname': reg.name, +'for': reg.required[0].__identifier__, +'type': reg.required[1].__identifier__, +'zptfile': mangleAbsoluteFilename(reg.factory.index.filename), +'zcmlfile': mangleAbsoluteFilename(reg.info.file) +} + def templateFromViewname(self, viewname): view = zope.component.getMultiAdapter((self.context, self.request), name=viewname) Modified: Products.Five/branches/philikon-local-components/component/templateviews.pt === --- Products.Five/branches/philikon-local-components/component/templateviews.pt 2006-03-24 22:29:19 UTC (rev 66157) +++ Products.Five/branches/philikon-local-components/component/templateviews.pt 2006-03-25 11:04:50 UTC (rev 66158) @@ -6,16 +6,26 @@ Template-based (global) browser views available for this component: - - - - - Template file: filename. - Registered in: filename. - - + + + + Name of View + Registration Info + + + + + + + + zptfile + for + zcmlfile + + Modified: Products.Five/branches/philikon-local-components/component/tests.py === --- Products.Five/branches/philikon-local-components/component/tests.py 2006-03-24 22:29:19 UTC (rev 66157) +++ Products.Five/branches/philikon-local-components/component/tests.py 2006-03-25 11:04:50 UTC (rev 66158) @@ -16,14 +16,15 @@ $Id$ """ import unittest -from zope.testing.doctestunit import DocFileSuite +from zope.testing.doctestunit import DocFileSuite, DocTestSuite __docformat__ = "reStructuredText" def test_suite(): return unittest.TestSuite([ DocFileSuite('component.txt', package="Products.Five.component"), -DocFileSuite('zpt.txt', package="Products.Five.component") +DocFileSuite('zpt.txt', packa
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/ Remove lots zope.app.zapi and some zope.app.i18n usage.
Log message for revision 66159: Remove lots zope.app.zapi and some zope.app.i18n usage. Note: some resource code seems not to have been tested because they were still using getView and not getMultiAdapter Note 2: formlib was using 'zope' i18n domain but zope.formlib code uses 'zope.formlib' as i18n domain (whether that's good or not is a different issue) Changed: U Products.Five/branches/philikon-local-components/browser/absoluteurl.py U Products.Five/branches/philikon-local-components/browser/adding.py U Products.Five/branches/philikon-local-components/browser/metaconfigure.py U Products.Five/branches/philikon-local-components/browser/resource.py U Products.Five/branches/philikon-local-components/browser/tests/pages.txt U Products.Five/branches/philikon-local-components/fiveconfigure.py U Products.Five/branches/philikon-local-components/form/__init__.py U Products.Five/branches/philikon-local-components/form/metaconfigure.py U Products.Five/branches/philikon-local-components/form/tests/test_forms.py U Products.Five/branches/philikon-local-components/formlib/formbase.py U Products.Five/branches/philikon-local-components/i18n.py U Products.Five/branches/philikon-local-components/security.py U Products.Five/branches/philikon-local-components/skin/standardmacros.py U Products.Five/branches/philikon-local-components/viewable.py -=- Modified: Products.Five/branches/philikon-local-components/browser/absoluteurl.py === --- Products.Five/branches/philikon-local-components/browser/absoluteurl.py 2006-03-25 11:04:50 UTC (rev 66158) +++ Products.Five/branches/philikon-local-components/browser/absoluteurl.py 2006-03-25 11:23:51 UTC (rev 66159) @@ -19,7 +19,7 @@ from OFS.interfaces import ITraversable from zope.interface import implements -from zope.app import zapi +from zope.component import getMultiAdapter from zope.app.traversing.browser.interfaces import IAbsoluteURL from Products.Five.browser import BrowserView @@ -52,7 +52,7 @@ return ( {'name': name, 'url': context.absolute_url()},) -view = zapi.getMultiAdapter((container, request), IAbsoluteURL) +view = getMultiAdapter((container, request), IAbsoluteURL) base = tuple(view.breadcrumbs()) base += ( {'name': name, 'url': ("%s/%s" % (base[-1]['url'], name))},) Modified: Products.Five/branches/philikon-local-components/browser/adding.py === --- Products.Five/branches/philikon-local-components/browser/adding.py 2006-03-25 11:04:50 UTC (rev 66158) +++ Products.Five/branches/philikon-local-components/browser/adding.py 2006-03-25 11:23:51 UTC (rev 66159) @@ -19,30 +19,28 @@ __docformat__ = 'restructuredtext' from warnings import warn + +import zope.component from zope.interface import implements from zope.publisher.interfaces import IPublishTraverse from zope.component.interfaces import IFactory +from zope.event import notify from zope.app.exception.interfaces import UserError from zope.app.container.interfaces import IAdding, INameChooser from zope.app.container.interfaces import IContainerNamesContainer from zope.app.container.constraints import checkFactory, checkObject - from zope.app.publisher.browser.menu import getMenu - -from zope.app import zapi from zope.app.event.objectevent import ObjectCreatedEvent -from zope.event import notify +from Acquisition import Implicit from zExceptions import BadRequest +from OFS.SimpleItem import SimpleItem from Products.Five import BrowserView from Products.Five.traversable import Traversable from Products.Five.browser.pagetemplatefile import ZopeTwoPageTemplateFile -from Acquisition import Implicit -from OFS.SimpleItem import SimpleItem - class BasicAdding(Implicit, BrowserView): implements(IAdding, IPublishTraverse) @@ -86,8 +84,8 @@ # XXX this is definitely not right for all or even most uses # of Five, but can be overridden by an AddView subclass, using # the class attribute of a zcml:addform directive -return str(zapi.getMultiAdapter((self.context, self.request), -name=u"absolute_url")) + '/manage_main' +return str(zope.component.getMultiAdapter( +(self.context, self.request), name=u"absolute_url")) + '/manage_main' # set in BrowserView.__init__ request = None @@ -106,18 +104,18 @@ if view_name.startswith('@@'): view_name = view_name[2:] -return zapi.getMultiAdapter((self, request), name=view_name) +return zope.component.getMultiAdapter((self, request), name=view_name) if name.startswith('@@'): view_name = name[2:] else: view_name = name -view = zapi.queryView(self, view_name
[Zope-Checkins] SVN: Zope/branches/philikon-fix-lookup-priorities/ Branch of Zope 2 to go with Five's philikon-fix-lookup-priorities branch.
Log message for revision 66174: Branch of Zope 2 to go with Five's philikon-fix-lookup-priorities branch. Changed: A Zope/branches/philikon-fix-lookup-priorities/ -=- Copied: Zope/branches/philikon-fix-lookup-priorities (from rev 66173, Zope/branches/2.9) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-fix-lookup-priorities/lib/python/Products/ switch Five to the branch with the lookup priority fix
Log message for revision 66175: switch Five to the branch with the lookup priority fix Changed: _U Zope/branches/philikon-fix-lookup-priorities/lib/python/Products/ -=- Property changes on: Zope/branches/philikon-fix-lookup-priorities/lib/python/Products ___ Name: svn:externals - Five svn://svn.zope.org/repos/main/Products.Five/tags/1.3.2 + Five svn://svn.zope.org/repos/main/Products.Five/branches/philikon-fix-lookup-priorities ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/ whenever the request is created, make sure that the default skin is set on it.
Log message for revision 66176: whenever the request is created, make sure that the default skin is set on it. Changed: U Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Publish.py U Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Test.py -=- Modified: Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Publish.py === --- Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Publish.py 2006-03-26 16:32:29 UTC (rev 66175) +++ Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Publish.py 2006-03-26 16:35:54 UTC (rev 66176) @@ -21,6 +21,7 @@ from maybe_lock import allocate_lock from mapply import mapply from zExceptions import Redirect +from zope.app.publication.browser import setDefaultSkin class Retry(Exception): """Raise this to retry a request @@ -185,6 +186,11 @@ if request is None: request=Request(stdin, environ, response) +# make sure that the request we hand over has the +# default layer/skin set on it; subsequent code that +# wants to look up views will likely depend on it +setDefaultSkin(request) + response = publish(request, module_name, after_list, debug=debug) except SystemExit, v: must_die=sys.exc_info() Modified: Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Test.py === --- Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Test.py 2006-03-26 16:32:29 UTC (rev 66175) +++ Zope/branches/philikon-fix-lookup-priorities/lib/python/ZPublisher/Test.py 2006-03-26 16:35:54 UTC (rev 66176) @@ -189,6 +189,12 @@ stdout=response.stdout if request is None: request=Request(stdin, environ, response) +# make sure that the request we hand over has the +# default layer/skin set on it; subsequent code that +# wants to look up views will likely depend on it +from zope.app.publication.browser import setDefaultSkin +setDefaultSkin(request) + for k, v in extra.items(): request[k]=v response = publish(request, module_name, after_list, debug=debug) except SystemExit, v: ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/traversable.py 1. Let's not be too ambitious and try to solve WebDAV issues that we don't know
Log message for revision 66177: 1. Let's not be too ambitious and try to solve WebDAV issues that we don't know are actually there. 2. ZPublisher now makes sure that the request has the default skin Changed: U Products.Five/branches/philikon-fix-lookup-priorities/traversable.py -=- Modified: Products.Five/branches/philikon-fix-lookup-priorities/traversable.py === --- Products.Five/branches/philikon-fix-lookup-priorities/traversable.py 2006-03-26 16:35:54 UTC (rev 66176) +++ Products.Five/branches/philikon-fix-lookup-priorities/traversable.py 2006-03-26 16:37:30 UTC (rev 66177) @@ -30,8 +30,6 @@ from zExceptions import NotFound from ZPublisher import xmlrpc -_marker = object - class FakeRequest(dict): implements(IBrowserRequest) @@ -57,8 +55,8 @@ # behaviour as much as possible. Therefore the first part of # this method is based on BaseRequest.traverse's behaviour: # 1. If an object has __bobo_traverse__, use it -# 2. Otherwise do attribute look-up (w/o acquisition if necessary) -# 3. If that doesn't work, try key item lookup. +# 2. Otherwise do attribute look-up or, if that doesn't work, +#key item lookup. if hasattr(self, '__fallback_traverse__'): try: @@ -66,39 +64,18 @@ except (AttributeError, KeyError): pass else: -# Note - no_acquire_flag is necessary to support things -# like DAV. We have to make sure that the target object -# is not acquired if the request_method is other than GET -# or POST. Otherwise, you could never use PUT to add a new -# object named 'test' if an object 'test' existed above it -# in the heirarchy -- you'd always get the existing object -# :( -no_acquire_flag = False -method = REQUEST.get('REQUEST_METHOD', 'GET').upper() -if ((method not in ('GET', 'POST') or - isinstance(getattr(REQUEST, 'response', {}), xmlrpc.Response)) -and getattr(REQUEST, 'maybe_webdav_client', False)): -# Probably a WebDAV client. -no_acquire_flag = True - try: -if (no_acquire_flag and -len(REQUEST['TraversalRequestNameStack']) == 0 and -hasattr(self, 'aq_base')): -if hasattr(self.aq_base, name): -return getattr(self, name) -else: -pass # attribute not found -else: -return getattr(self, name) +return getattr(self, name) except AttributeError: -try: -return self[name] -except (KeyError, IndexError, TypeError, AttributeError): -pass # key not found +pass +try: +return self[name] +except (KeyError, IndexError, TypeError, AttributeError): +pass + # This is the part Five adds: -# 4. If neither __bobo_traverse__ nor attribute/key look-up +# 3. If neither __bobo_traverse__ nor attribute/key look-up # work, we try to find a Zope 3-style view # For that we need to make sure we have a good request @@ -108,15 +85,11 @@ REQUEST = getattr(self, 'REQUEST', None) if not IBrowserRequest.providedBy(REQUEST): REQUEST = FakeRequest() +setDefaultSkin(REQUEST) # Con Zope 3 into using Zope 2's checkPermission Products.Five.security.newInteraction() -# Set the default skin on the request if it doesn't have any -# layers set on it yet -if queryType(REQUEST, ILayer) is None: -setDefaultSkin(REQUEST) - # Use the ITraverser adapter (which in turn uses ITraversable # adapters) to traverse to a view. Note that we're mixing # object-graph and object-publishing traversal here, but Zope ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-fix-lookup-priorities/lib/python/Testing/ZopeTestCase/utils.py make sure that request has correct default skin when its created for
Log message for revision 66184: make sure that request has correct default skin when its created for ZopeTestCase tests. Changed: U Zope/branches/philikon-fix-lookup-priorities/lib/python/Testing/ZopeTestCase/utils.py -=- Modified: Zope/branches/philikon-fix-lookup-priorities/lib/python/Testing/ZopeTestCase/utils.py === --- Zope/branches/philikon-fix-lookup-priorities/lib/python/Testing/ZopeTestCase/utils.py 2006-03-26 19:16:21 UTC (rev 66183) +++ Zope/branches/philikon-fix-lookup-priorities/lib/python/Testing/ZopeTestCase/utils.py 2006-03-26 19:20:46 UTC (rev 66184) @@ -138,6 +138,12 @@ request = Request(sys.stdin, environ, response) request._steps = ['noobject'] # Fake a published object request['ACTUAL_URL'] = request.get('URL') # Zope 2.7.4 + +# set Zope3-style default skin so that the request is usable for +# Zope3-style view look-ups +from zope.app.publication.browser import setDefaultSkin +setDefaultSkin(request) + return app.__of__(RequestContainer(REQUEST=request)) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/2.9/lib/python/ update to latest revision of ZODB 3.6 for upcoming release
Log message for revision 66185: update to latest revision of ZODB 3.6 for upcoming release Changed: _U Zope/branches/2.9/lib/python/ -=- Property changes on: Zope/branches/2.9/lib/python ___ Name: svn:externals - ZConfigsvn://svn.zope.org/repos/main/ZConfig/tags/ZConfig-2.3.1 BTrees -r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/BTrees persistent -r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/persistent ThreadedAsync -r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ThreadedAsync transaction-r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/transaction ZEO-r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZEO ZODB -r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZODB ZopeUndo -r 41153 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZopeUndo zdaemon-r 40792 svn://svn.zope.org/repos/main/zdaemon/trunk/src/zdaemon pytz -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/pytz zodbcode -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zodbcode ClientCookie -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/ClientCookie mechanize -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/mechanize + ZConfigsvn://svn.zope.org/repos/main/ZConfig/tags/ZConfig-2.3.1 BTrees -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/BTrees persistent -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/persistent ThreadedAsync -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ThreadedAsync transaction-r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/transaction ZEO-r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZEO ZODB -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZODB ZopeUndo -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZopeUndo zdaemon-r 40792 svn://svn.zope.org/repos/main/zdaemon/trunk/src/zdaemon pytz -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/pytz zodbcode -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zodbcode ClientCookie -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/ClientCookie mechanize -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/mechanize ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/traversable.py end sentences with full stops :)
Log message for revision 66186: end sentences with full stops :) Changed: U Products.Five/branches/philikon-fix-lookup-priorities/traversable.py -=- Modified: Products.Five/branches/philikon-fix-lookup-priorities/traversable.py === --- Products.Five/branches/philikon-fix-lookup-priorities/traversable.py 2006-03-26 19:21:38 UTC (rev 66185) +++ Products.Five/branches/philikon-fix-lookup-priorities/traversable.py 2006-03-26 20:09:06 UTC (rev 66186) @@ -54,7 +54,7 @@ # We are trying to be compatible with Zope 2 and 3 traversal # behaviour as much as possible. Therefore the first part of # this method is based on BaseRequest.traverse's behaviour: -# 1. If an object has __bobo_traverse__, use it +# 1. If an object has __bobo_traverse__, use it. # 2. Otherwise do attribute look-up or, if that doesn't work, #key item lookup. @@ -76,7 +76,7 @@ # This is the part Five adds: # 3. If neither __bobo_traverse__ nor attribute/key look-up -# work, we try to find a Zope 3-style view +# work, we try to find a Zope 3-style view. # For that we need to make sure we have a good request # (sometimes __bobo_traverse__ gets a stub request) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/CHANGES.txt report changes for this branch
Log message for revision 66187: report changes for this branch Changed: U Products.Five/branches/philikon-fix-lookup-priorities/CHANGES.txt -=- Modified: Products.Five/branches/philikon-fix-lookup-priorities/CHANGES.txt === --- Products.Five/branches/philikon-fix-lookup-priorities/CHANGES.txt 2006-03-26 20:09:06 UTC (rev 66186) +++ Products.Five/branches/philikon-fix-lookup-priorities/CHANGES.txt 2006-03-26 20:09:42 UTC (rev 66187) @@ -4,7 +4,20 @@ Five 1.3.3 (unreleased) === - + +Bugfixes + + +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + * A local utility registered with an derived interface will now be available by the inherited interface as well, in the same way as Zope3. ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/2.9/lib/python/ Move to Zope 3.2.1, which also means we have to include copies of pullparser
Log message for revision 66188: Move to Zope 3.2.1, which also means we have to include copies of pullparser and ClientForm (zope.testbrowser dependencies) now. Changed: _U Zope/branches/2.9/lib/python/ A Zope/branches/2.9/lib/python/ClientForm.py A Zope/branches/2.9/lib/python/pullparser.py _U Zope/branches/2.9/lib/python/zope/ -=- Property changes on: Zope/branches/2.9/lib/python ___ Name: svn:externals - ZConfigsvn://svn.zope.org/repos/main/ZConfig/tags/ZConfig-2.3.1 BTrees -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/BTrees persistent -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/persistent ThreadedAsync -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ThreadedAsync transaction-r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/transaction ZEO-r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZEO ZODB -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZODB ZopeUndo -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZopeUndo zdaemon-r 40792 svn://svn.zope.org/repos/main/zdaemon/trunk/src/zdaemon pytz -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/pytz zodbcode -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zodbcode ClientCookie -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/ClientCookie mechanize -r 40992 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/mechanize + ZConfigsvn://svn.zope.org/repos/main/ZConfig/tags/ZConfig-2.3.1 BTrees -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/BTrees persistent -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/persistent ThreadedAsync -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ThreadedAsync transaction-r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/transaction ZEO-r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZEO ZODB -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZODB ZopeUndo -r 66124 svn://svn.zope.org/repos/main/ZODB/branches/3.6/src/ZopeUndo zdaemon-r 40792 svn://svn.zope.org/repos/main/zdaemon/trunk/src/zdaemon pytz svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.1/src/pytz zodbcode svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.1/src/zodbcode ClientCookie svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.1/src/ClientCookie mechanize svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.1/src/mechanize Copied: Zope/branches/2.9/lib/python/ClientForm.py (from rev 66185, Zope3/branches/3.2/src/ClientForm.py) Copied: Zope/branches/2.9/lib/python/pullparser.py (from rev 66185, Zope3/branches/3.2/src/pullparser.py) Property changes on: Zope/branches/2.9/lib/python/zope ___ Name: svn:externals - app svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/app cachedescriptors svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/component configuration svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/configuration documenttemplate svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/documenttemplate event svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/event exceptions svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/exceptions hookable svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/hookable i18n svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/i18n i18nmessageid svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/interface modulealias svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/modulealias pagetemplate svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/pagetemplate proxy svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/proxy publisher svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/publisher schema svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/schema security svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/security server svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/server structuredtext svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/structuredtext tal svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/tal tales svn://svn.zope.org/repos/main/Zope3/tags/Zope-3.2.0/src/zope/tales thread svn://svn.zope.org/repos/main/Zope3/tags/Zope-
[Zope-Checkins] SVN: Zope/branches/2.9/ Merge philikon-fix-lookup-priorities and add changelog entry
Log message for revision 66190: Merge philikon-fix-lookup-priorities and add changelog entry Changed: U Zope/branches/2.9/doc/CHANGES.txt U Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py U Zope/branches/2.9/lib/python/ZPublisher/Publish.py U Zope/branches/2.9/lib/python/ZPublisher/Test.py -=- Modified: Zope/branches/2.9/doc/CHANGES.txt === --- Zope/branches/2.9/doc/CHANGES.txt 2006-03-26 20:30:29 UTC (rev 66189) +++ Zope/branches/2.9/doc/CHANGES.txt 2006-03-26 20:40:18 UTC (rev 66190) @@ -25,6 +25,9 @@ - Collector #2037: fixed broken ACTUAL_URL for '/' + - Put the default skin interface on the request once it is +created, both in ZPublisher and ZopeTestCase. + Zope 2.9.1 (2006/02/25) Bugs fixed Modified: Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py === --- Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py 2006-03-26 20:30:29 UTC (rev 66189) +++ Zope/branches/2.9/lib/python/Testing/ZopeTestCase/utils.py 2006-03-26 20:40:18 UTC (rev 66190) @@ -138,6 +138,12 @@ request = Request(sys.stdin, environ, response) request._steps = ['noobject'] # Fake a published object request['ACTUAL_URL'] = request.get('URL') # Zope 2.7.4 + +# set Zope3-style default skin so that the request is usable for +# Zope3-style view look-ups +from zope.app.publication.browser import setDefaultSkin +setDefaultSkin(request) + return app.__of__(RequestContainer(REQUEST=request)) Modified: Zope/branches/2.9/lib/python/ZPublisher/Publish.py === --- Zope/branches/2.9/lib/python/ZPublisher/Publish.py 2006-03-26 20:30:29 UTC (rev 66189) +++ Zope/branches/2.9/lib/python/ZPublisher/Publish.py 2006-03-26 20:40:18 UTC (rev 66190) @@ -21,6 +21,7 @@ from maybe_lock import allocate_lock from mapply import mapply from zExceptions import Redirect +from zope.app.publication.browser import setDefaultSkin class Retry(Exception): """Raise this to retry a request @@ -185,6 +186,11 @@ if request is None: request=Request(stdin, environ, response) +# make sure that the request we hand over has the +# default layer/skin set on it; subsequent code that +# wants to look up views will likely depend on it +setDefaultSkin(request) + response = publish(request, module_name, after_list, debug=debug) except SystemExit, v: must_die=sys.exc_info() Modified: Zope/branches/2.9/lib/python/ZPublisher/Test.py === --- Zope/branches/2.9/lib/python/ZPublisher/Test.py 2006-03-26 20:30:29 UTC (rev 66189) +++ Zope/branches/2.9/lib/python/ZPublisher/Test.py 2006-03-26 20:40:18 UTC (rev 66190) @@ -189,6 +189,12 @@ stdout=response.stdout if request is None: request=Request(stdin, environ, response) +# make sure that the request we hand over has the +# default layer/skin set on it; subsequent code that +# wants to look up views will likely depend on it +from zope.app.publication.browser import setDefaultSkin +setDefaultSkin(request) + for k, v in extra.items(): request[k]=v response = publish(request, module_name, after_list, debug=debug) except SystemExit, v: ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.3/ Merge philikon-fix-lookup-priorities and fix up doc files for upcoming
Log message for revision 66191: Merge philikon-fix-lookup-priorities and fix up doc files for upcoming release. Changed: U Products.Five/branches/1.3/CHANGES.txt U Products.Five/branches/1.3/INSTALL.txt U Products.Five/branches/1.3/browser/tests/test_traversable.py U Products.Five/branches/1.3/fiveconfigure.py U Products.Five/branches/1.3/tests/testing/fancycontent.py U Products.Five/branches/1.3/traversable.py U Products.Five/branches/1.3/version.txt -=- Modified: Products.Five/branches/1.3/CHANGES.txt === --- Products.Five/branches/1.3/CHANGES.txt 2006-03-26 20:40:18 UTC (rev 66190) +++ Products.Five/branches/1.3/CHANGES.txt 2006-03-26 20:42:53 UTC (rev 66191) @@ -2,9 +2,24 @@ Five Changes -Five 1.3.3 (unreleased) +Five 1.3.3 (2006-03-26) === - + +Bugfixes + + +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + + This change requires Zope 2.9.2 or higher. + * A local utility registered with an derived interface will now be available by the inherited interface as well, in the same way as Zope3. Modified: Products.Five/branches/1.3/INSTALL.txt === --- Products.Five/branches/1.3/INSTALL.txt 2006-03-26 20:40:18 UTC (rev 66190) +++ Products.Five/branches/1.3/INSTALL.txt 2006-03-26 20:42:53 UTC (rev 66191) @@ -4,7 +4,7 @@ Requirements for Five 1.3 - -* Zope 2.9+ with Python 2.4.1+ +* Zope 2.9.2+ with Python 2.4.1+ Note that Five 1.3 is already part of Zope 2.9. You can still install a newer Five version in your instance, if you like. It will override Modified: Products.Five/branches/1.3/browser/tests/test_traversable.py === --- Products.Five/branches/1.3/browser/tests/test_traversable.py 2006-03-26 20:40:18 UTC (rev 66190) +++ Products.Five/branches/1.3/browser/tests/test_traversable.py 2006-03-26 20:42:53 UTC (rev 66191) @@ -67,7 +67,8 @@ ... - ... + ... + ... ... - ... + ... + ... + ... ... ''' >>> zcml.load_string(configure_zcml) @@ -92,23 +107,50 @@ ... something-else -Of course we also need to make sure that Zope 3 style view lookup -actually works: +Once we have a custom __bobo_traverse__ method, though, it always +takes over. Therefore, unless it raises AttributeError or +KeyError, it will be the only way traversal is done. >>> print http(r''' ... GET /test_folder_1_/fancy/fancyview HTTP/1.1 ... ''') HTTP/1.1 200 OK ... + fancyview + +As said, if the original __bobo_traverse__ method *does* raise +AttributeError or KeyError, we can get normal view look-up. Other +exceptions are passed through just fine: + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-attributeerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... Fancy, fancy - + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-keyerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... + Fancy, fancy + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 + ... ''') + HTTP/1.1 500 Internal Server Error + ... + ...ValueError: raise-valueerror + ... + Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct attribute/item lookup to do normal lookup. In the Zope 2 ZPublisher, an object with a __bobo_traverse__ will not do attribute lookup unless the __bobo_traverse__ method itself does it (i.e. the __bobo_traverse__ is the only element used for traversal lookup). Let's demonstrate: - + >>> from Products.Five.tests.testing.fancycontent import manage_addNonTraversableFancyContent >>> info = manage_addNonTraversableFancyContent(self.folder, 'fancy_zope2', '') >>> self.folder.fancy_zope2.an_attribute = 'This is an attribute' @@ -118,7 +160,7 @@ HTTP/1.1 200 OK ... an_attribute - + Without a __bobo_traverse__ method this would have returned the attribute value 'This is an attribute'. Let's make sure the same thing happens for an object that has been marked traversable by Five: @@ -154,6 +196,70 @@ False """ +def test_view_doesnt_shadow_attribute(): +""" +Test that views don't shadow attributes, e.g. items in a folder. + +
[Zope-Checkins] SVN: Products.Five/branches/1.4/ Merge philikon-fix-lookup-priorities branch
Log message for revision 66192: Merge philikon-fix-lookup-priorities branch Changed: U Products.Five/branches/1.4/CHANGES.txt U Products.Five/branches/1.4/INSTALL.txt U Products.Five/branches/1.4/browser/tests/test_traversable.py U Products.Five/branches/1.4/fiveconfigure.py U Products.Five/branches/1.4/tests/testing/fancycontent.py U Products.Five/branches/1.4/traversable.py -=- Modified: Products.Five/branches/1.4/CHANGES.txt === --- Products.Five/branches/1.4/CHANGES.txt 2006-03-26 20:42:53 UTC (rev 66191) +++ Products.Five/branches/1.4/CHANGES.txt 2006-03-26 20:49:58 UTC (rev 66192) @@ -27,9 +27,24 @@ NOTE: Anyone who copied the Five site.zcml to their $INSTANCE_HOME/etc/ directory is going to need to update it. +Five 1.3.3 (2006-03-26) +=== + Bugfixes +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + + This change requires Zope 2.9.2 or higher. + * A local utility registered with an derived interface will now be available by the inherited interface as well, in the same way as Zope3. Modified: Products.Five/branches/1.4/INSTALL.txt === --- Products.Five/branches/1.4/INSTALL.txt 2006-03-26 20:42:53 UTC (rev 66191) +++ Products.Five/branches/1.4/INSTALL.txt 2006-03-26 20:49:58 UTC (rev 66192) @@ -4,7 +4,7 @@ Requirements for Five 1.4 - -* Zope 2.9 with Python 2.4.1+ +* Zope 2.9.2+ with Python 2.4.1+ Note that Five 1.3 is part of Zope 2.9. You can still install a newer Five version (e.g. Five 1.4) in your instance, if you like. It will Modified: Products.Five/branches/1.4/browser/tests/test_traversable.py === --- Products.Five/branches/1.4/browser/tests/test_traversable.py 2006-03-26 20:42:53 UTC (rev 66191) +++ Products.Five/branches/1.4/browser/tests/test_traversable.py 2006-03-26 20:49:58 UTC (rev 66192) @@ -67,7 +67,8 @@ ... - ... + ... + ... ... - ... + ... + ... + ... ... ''' >>> zcml.load_string(configure_zcml) @@ -92,23 +107,50 @@ ... something-else -Of course we also need to make sure that Zope 3 style view lookup -actually works: +Once we have a custom __bobo_traverse__ method, though, it always +takes over. Therefore, unless it raises AttributeError or +KeyError, it will be the only way traversal is done. >>> print http(r''' ... GET /test_folder_1_/fancy/fancyview HTTP/1.1 ... ''') HTTP/1.1 200 OK ... + fancyview + +As said, if the original __bobo_traverse__ method *does* raise +AttributeError or KeyError, we can get normal view look-up. Other +exceptions are passed through just fine: + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-attributeerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... Fancy, fancy - + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-keyerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... + Fancy, fancy + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 + ... ''') + HTTP/1.1 500 Internal Server Error + ... + ...ValueError: raise-valueerror + ... + Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct attribute/item lookup to do normal lookup. In the Zope 2 ZPublisher, an object with a __bobo_traverse__ will not do attribute lookup unless the __bobo_traverse__ method itself does it (i.e. the __bobo_traverse__ is the only element used for traversal lookup). Let's demonstrate: - + >>> from Products.Five.tests.testing.fancycontent import manage_addNonTraversableFancyContent >>> info = manage_addNonTraversableFancyContent(self.folder, 'fancy_zope2', '') >>> self.folder.fancy_zope2.an_attribute = 'This is an attribute' @@ -118,7 +160,7 @@ HTTP/1.1 200 OK ... an_attribute - + Without a __bobo_traverse__ method this would have returned the attribute value 'This is an attribute'. Let's make sure the same thing happens for an object that has been marked traversable by Five: @@ -154,6 +196,70 @@ False """ +def test_view_doesnt_shadow_attribute(): +""" +Test that views don't shadow attributes, e.g. items in a folder. + +Let's first define
[Zope-Checkins] SVN: Products.Five/tags/1.3.3/ Tag Five 1.3.3 release
Log message for revision 66193: Tag Five 1.3.3 release Changed: A Products.Five/tags/1.3.3/ -=- Copied: Products.Five/tags/1.3.3 (from rev 66192, Products.Five/branches/1.3) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/2.9/lib/python/Products/ Move to Five 1.3.3
Log message for revision 66194: Move to Five 1.3.3 Changed: _U Zope/branches/2.9/lib/python/Products/ -=- Property changes on: Zope/branches/2.9/lib/python/Products ___ Name: svn:externals - Five svn://svn.zope.org/repos/main/Products.Five/tags/1.3.2 + Five svn://svn.zope.org/repos/main/Products.Five/tags/1.3.3 ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.4/browser/tests/test_traversable.py better Zope trunk compatibility
Log message for revision 66195: better Zope trunk compatibility Changed: U Products.Five/branches/1.4/browser/tests/test_traversable.py -=- Modified: Products.Five/branches/1.4/browser/tests/test_traversable.py === --- Products.Five/branches/1.4/browser/tests/test_traversable.py 2006-03-26 20:55:46 UTC (rev 66194) +++ Products.Five/branches/1.4/browser/tests/test_traversable.py 2006-03-26 21:13:37 UTC (rev 66195) @@ -138,11 +138,10 @@ >>> print http(r''' ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 - ... ''') - HTTP/1.1 500 Internal Server Error - ... - ...ValueError: raise-valueerror - ... + ... ''', handle_errors=False) + Traceback (most recent call last): +... + ValueError: raise-valueerror Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.3/browser/tests/test_traversable.py better Zope trunk compatibility
Log message for revision 66196: better Zope trunk compatibility Changed: U Products.Five/branches/1.3/browser/tests/test_traversable.py -=- Modified: Products.Five/branches/1.3/browser/tests/test_traversable.py === --- Products.Five/branches/1.3/browser/tests/test_traversable.py 2006-03-26 21:13:37 UTC (rev 66195) +++ Products.Five/branches/1.3/browser/tests/test_traversable.py 2006-03-26 21:14:38 UTC (rev 66196) @@ -138,11 +138,10 @@ >>> print http(r''' ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 - ... ''') - HTTP/1.1 500 Internal Server Error - ... - ...ValueError: raise-valueerror - ... + ... ''', handle_errors=False) + Traceback (most recent call last): +... + ValueError: raise-valueerror Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.3.3/ Remove for last minute fix
Log message for revision 66197: Remove for last minute fix Changed: D Products.Five/tags/1.3.3/ -=- ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.3.3/ Recreate 1.3.3 tag with last minute fix in place
Log message for revision 66198: Recreate 1.3.3 tag with last minute fix in place Changed: A Products.Five/tags/1.3.3/ -=- Copied: Products.Five/tags/1.3.3 (from rev 66197, Products.Five/branches/1.3) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.3/browser/tests/test_traversable.py Grrr... was still not right with the trunk
Log message for revision 66199: Grrr... was still not right with the trunk Changed: U Products.Five/branches/1.3/browser/tests/test_traversable.py -=- Modified: Products.Five/branches/1.3/browser/tests/test_traversable.py === --- Products.Five/branches/1.3/browser/tests/test_traversable.py 2006-03-26 21:16:10 UTC (rev 66198) +++ Products.Five/branches/1.3/browser/tests/test_traversable.py 2006-03-26 21:49:43 UTC (rev 66199) @@ -141,7 +141,7 @@ ... ''', handle_errors=False) Traceback (most recent call last): ... - ValueError: raise-valueerror + ValueError: ... Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.3.3/ Have to recreate the tag yet again
Log message for revision 66200: Have to recreate the tag yet again Changed: D Products.Five/tags/1.3.3/ -=- ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.3.3/ Tag Five 1.3.3 yet again
Log message for revision 66201: Tag Five 1.3.3 yet again Changed: A Products.Five/tags/1.3.3/ -=- Copied: Products.Five/tags/1.3.3 (from rev 66200, Products.Five/branches/1.3) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.4/browser/tests/test_traversable.py Grrr... was still not right with the trunk
Log message for revision 66202: Grrr... was still not right with the trunk Changed: U Products.Five/branches/1.4/browser/tests/test_traversable.py -=- Modified: Products.Five/branches/1.4/browser/tests/test_traversable.py === --- Products.Five/branches/1.4/browser/tests/test_traversable.py 2006-03-26 21:51:17 UTC (rev 66201) +++ Products.Five/branches/1.4/browser/tests/test_traversable.py 2006-03-26 21:53:20 UTC (rev 66202) @@ -141,7 +141,7 @@ ... ''', handle_errors=False) Traceback (most recent call last): ... - ValueError: raise-valueerror + ValueError: ... Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/trunk/lib/python/ Merge Merge philikon-fix-lookup-priorities branch and switch Five to
Log message for revision 66203: Merge Merge philikon-fix-lookup-priorities branch and switch Five to version 1.3.3. Changed: _U Zope/trunk/lib/python/Products/ U Zope/trunk/lib/python/Testing/ZopeTestCase/utils.py U Zope/trunk/lib/python/ZPublisher/Publish.py U Zope/trunk/lib/python/ZPublisher/Test.py -=- Property changes on: Zope/trunk/lib/python/Products ___ Name: svn:externals - Five svn://svn.zope.org/repos/main/Products.Five/tags/1.3.2 + Five svn://svn.zope.org/repos/main/Products.Five/tags/1.3.3 Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/utils.py === --- Zope/trunk/lib/python/Testing/ZopeTestCase/utils.py 2006-03-26 21:53:20 UTC (rev 66202) +++ Zope/trunk/lib/python/Testing/ZopeTestCase/utils.py 2006-03-26 21:58:06 UTC (rev 66203) @@ -138,6 +138,12 @@ request = Request(sys.stdin, environ, response) request._steps = ['noobject'] # Fake a published object request['ACTUAL_URL'] = request.get('URL') # Zope 2.7.4 + +# set Zope3-style default skin so that the request is usable for +# Zope3-style view look-ups +from zope.app.publication.browser import setDefaultSkin +setDefaultSkin(request) + return app.__of__(RequestContainer(REQUEST=request)) Modified: Zope/trunk/lib/python/ZPublisher/Publish.py === --- Zope/trunk/lib/python/ZPublisher/Publish.py 2006-03-26 21:53:20 UTC (rev 66202) +++ Zope/trunk/lib/python/ZPublisher/Publish.py 2006-03-26 21:58:06 UTC (rev 66203) @@ -21,6 +21,7 @@ from maybe_lock import allocate_lock from mapply import mapply from zExceptions import Redirect +from zope.app.publication.browser import setDefaultSkin class Retry(Exception): """Raise this to retry a request @@ -185,6 +186,11 @@ if request is None: request=Request(stdin, environ, response) +# make sure that the request we hand over has the +# default layer/skin set on it; subsequent code that +# wants to look up views will likely depend on it +setDefaultSkin(request) + response = publish(request, module_name, after_list, debug=debug) except SystemExit, v: must_die=sys.exc_info() Modified: Zope/trunk/lib/python/ZPublisher/Test.py === --- Zope/trunk/lib/python/ZPublisher/Test.py2006-03-26 21:53:20 UTC (rev 66202) +++ Zope/trunk/lib/python/ZPublisher/Test.py2006-03-26 21:58:06 UTC (rev 66203) @@ -189,6 +189,12 @@ stdout=response.stdout if request is None: request=Request(stdin, environ, response) +# make sure that the request we hand over has the +# default layer/skin set on it; subsequent code that +# wants to look up views will likely depend on it +from zope.app.publication.browser import setDefaultSkin +setDefaultSkin(request) + for k, v in extra.items(): request[k]=v response = publish(request, module_name, after_list, debug=debug) except SystemExit, v: ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-fix-lookup-priorities/ Delete no longer needed branch
Log message for revision 66204: Delete no longer needed branch Changed: D Zope/branches/philikon-fix-lookup-priorities/ -=- ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/trunk/ Merge philikon-fix-lookup-priorities branch
Log message for revision 66205: Merge philikon-fix-lookup-priorities branch Changed: U Products.Five/trunk/CHANGES.txt U Products.Five/trunk/browser/tests/test_traversable.py U Products.Five/trunk/fiveconfigure.py U Products.Five/trunk/tests/testing/fancycontent.py U Products.Five/trunk/traversable.py -=- Modified: Products.Five/trunk/CHANGES.txt === --- Products.Five/trunk/CHANGES.txt 2006-03-26 21:58:38 UTC (rev 66204) +++ Products.Five/trunk/CHANGES.txt 2006-03-26 21:59:31 UTC (rev 66205) @@ -23,9 +23,24 @@ NOTE: Anyone who copied the Five site.zcml to their $INSTANCE_HOME/etc/ directory is going to need to update it. +Five 1.3.3 (2006-03-26) +=== + Bugfixes +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + + This change requires Zope 2.9.2 or higher. + * A local utility registered with an derived interface will now be available by the inherited interface as well, in the same way as Zope3. Modified: Products.Five/trunk/browser/tests/test_traversable.py === --- Products.Five/trunk/browser/tests/test_traversable.py 2006-03-26 21:58:38 UTC (rev 66204) +++ Products.Five/trunk/browser/tests/test_traversable.py 2006-03-26 21:59:31 UTC (rev 66205) @@ -67,7 +67,8 @@ ... - ... + ... + ... ... - ... + ... + ... + ... ... ''' >>> zcml.load_string(configure_zcml) @@ -92,23 +107,49 @@ ... something-else -Of course we also need to make sure that Zope 3 style view lookup -actually works: +Once we have a custom __bobo_traverse__ method, though, it always +takes over. Therefore, unless it raises AttributeError or +KeyError, it will be the only way traversal is done. >>> print http(r''' ... GET /test_folder_1_/fancy/fancyview HTTP/1.1 ... ''') HTTP/1.1 200 OK ... + fancyview + +As said, if the original __bobo_traverse__ method *does* raise +AttributeError or KeyError, we can get normal view look-up. Other +exceptions are passed through just fine: + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-attributeerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... Fancy, fancy - + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-keyerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... + Fancy, fancy + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 + ... ''', handle_errors=False) + Traceback (most recent call last): +... + ValueError: ... + Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct attribute/item lookup to do normal lookup. In the Zope 2 ZPublisher, an object with a __bobo_traverse__ will not do attribute lookup unless the __bobo_traverse__ method itself does it (i.e. the __bobo_traverse__ is the only element used for traversal lookup). Let's demonstrate: - + >>> from Products.Five.tests.testing.fancycontent import manage_addNonTraversableFancyContent >>> info = manage_addNonTraversableFancyContent(self.folder, 'fancy_zope2', '') >>> self.folder.fancy_zope2.an_attribute = 'This is an attribute' @@ -118,7 +159,7 @@ HTTP/1.1 200 OK ... an_attribute - + Without a __bobo_traverse__ method this would have returned the attribute value 'This is an attribute'. Let's make sure the same thing happens for an object that has been marked traversable by Five: @@ -154,6 +195,70 @@ False """ +def test_view_doesnt_shadow_attribute(): +""" +Test that views don't shadow attributes, e.g. items in a folder. + +Let's first define a browser page for object managers called +``eagle``: + + >>> configure_zcml = ''' + ... http://namespaces.zope.org/zope"; + ...xmlns:meta="http://namespaces.zope.org/meta"; + ...xmlns:browser="http://namespaces.zope.org/browser"; + ...xmlns:five="http://namespaces.zope.org/five";> + ... + ... + ... + ... ''' + >>> import Products.Five + >>> from Products.Five import zcml + >>> zcml.load_config("configure.zcml", Products.Five) + >>> zcml.load_string(configure_zcml) + +Then we create a traversable folder... + + >>> from Products.Five.tests.testing.folder import manage_addFive
[Zope-Checkins] SVN: Zope/trunk/lib/python/StructuredText/__init__.py had this hanging 'round in my working copy:
Log message for revision 66206: had this hanging 'round in my working copy: generate a deprecation warning when convenience function in StructuredText is called (the whole STructuredText package is deprecated). Changed: U Zope/trunk/lib/python/StructuredText/__init__.py -=- Modified: Zope/trunk/lib/python/StructuredText/__init__.py === --- Zope/trunk/lib/python/StructuredText/__init__.py2006-03-26 21:59:31 UTC (rev 66205) +++ Zope/trunk/lib/python/StructuredText/__init__.py2006-03-26 22:01:24 UTC (rev 66206) @@ -40,6 +40,11 @@ DocBookArticle = docbook.DocBookArticle() def HTML(src, level=1): +import warnings +warnings.warn( +'The StructuredText package is deprecated and will be removed ' +'in Zope 2.12. Use zope.structuredtext instead.', +DeprecationWarning, stacklevel=2) if isinstance(src, basestring): return ClassicHTML(src, level) return HTMLNG(src, level) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.2/ Merge Lennart's regebro-localutility-fix branch to Five 1.2 as well.
Log message for revision 66207: Merge Lennart's regebro-localutility-fix branch to Five 1.2 as well. Changed: U Products.Five/branches/1.2/CHANGES.txt U Products.Five/branches/1.2/site/tests/test_utility.py U Products.Five/branches/1.2/site/utility.py -=- Modified: Products.Five/branches/1.2/CHANGES.txt === --- Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:01:24 UTC (rev 66206) +++ Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:12:10 UTC (rev 66207) @@ -2,6 +2,12 @@ Five Changes +Five 1.2.1 (2006-03-26) +=== + +* A local utility registered with an derived interface will now be available + by the inherited interface as well, in the same way as Zope3. + Five 1.2.1 (2006-02-25) === Modified: Products.Five/branches/1.2/site/tests/test_utility.py === --- Products.Five/branches/1.2/site/tests/test_utility.py 2006-03-26 22:01:24 UTC (rev 66206) +++ Products.Five/branches/1.2/site/tests/test_utility.py 2006-03-26 22:12:10 UTC (rev 66207) @@ -76,9 +76,10 @@ def test_getUtilitiesNoUtilitiesFolder(self): utils = zapi.getService(Utilities) #XXX test whether utils really is a local utility service... -self.assertRaises(ComponentLookupError, utils.getUtility, IDummyUtility) +self.failUnless(utils.queryUtility(IDummyUtility) is None) self.assertEquals(list(utils.getUtilitiesFor(IDummyUtility)), []) - self.assertEquals(list(utils.getAllUtilitiesRegisteredFor(IDummyUtility)), []) + self.assertEquals(list(utils.getAllUtilitiesRegisteredFor(IDummyUtility)), + []) def test_registerUtilityOnUtilityService(self): utils = zapi.getService(Utilities) @@ -116,6 +117,49 @@ self.assertEquals(zapi.getUtility(ISuperDummyUtility, 'dummy'), superdummy) +def test_derivedInterfaceRegistration(self): +# Utilities providing a derived interface should be listed +# when you ask for an interface. So ask for IDummmyInterace, and +# anything registered for IDummyInterface of ISuperDummyInterface +# should come back. + +sm = zapi.getServices() +self.failUnless(IRegisterUtilitySimply.providedBy(sm)) +dummy = DummyUtility() +superdummy = DummyUtility() +directlyProvides(superdummy, ISuperDummyUtility) +uts = list(zapi.getUtilitiesFor(IDummyUtility)) +self.failUnlessEqual(uts, []) + +sm.registerUtility(ISuperDummyUtility, superdummy) + +# We should be able to access this utility both with +# IDummyUtility and ISuperDummyUtility interfaces: +uts = list(zapi.getUtilitiesFor(IDummyUtility)) +self.failUnless(uts[0][1].aq_base is superdummy) +uts = list(zapi.getUtilitiesFor(ISuperDummyUtility)) +self.failUnless(uts[0][1].aq_base is superdummy) + +# Also try that the standard zapi call works: +ut = zapi.getUtility(IDummyUtility, context=self.folder.site) +self.failUnless(ut.aq_base is superdummy) +ut = zapi.getUtility(ISuperDummyUtility, context=self.folder.site) +self.failUnless(ut.aq_base is superdummy) + +# If we register a second utility we should find both utilities +# when looking for the base interface +sm.registerUtility(IDummyUtility, dummy) + +uts = list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)) +self.failUnless(dummy in uts) +self.failUnless(superdummy in uts) + +# But we should find only one when looking for the derived interface +uts = list(zapi.getAllUtilitiesRegisteredFor(ISuperDummyUtility)) +self.failUnless(dummy not in uts) +self.failUnless(superdummy in uts) + + def test_nestedSitesDontConflictButStillAcquire(self): # let's register a dummy utility in the dummy site dummy = DummyUtility() Modified: Products.Five/branches/1.2/site/utility.py === --- Products.Five/branches/1.2/site/utility.py 2006-03-26 22:01:24 UTC (rev 66206) +++ Products.Five/branches/1.2/site/utility.py 2006-03-26 22:12:10 UTC (rev 66207) @@ -52,29 +52,26 @@ def queryUtility(self, interface, name='', default=None): """See IUtilityService interface """ -if name == '': -# Singletons. Only one per interface allowed, so, let's call it -# by the interface. -id = interface.getName() -else: -id = interface.getName() + '-' + name - if getattr(aq_base(self.context), 'utilities', None) is not None: -utility = self.context.utilities._getOb(id, None) -if utility is not None: -retu
[Zope-Checkins] SVN: Zope/branches/2.9/doc/CHANGES.txt note that Five was updated
Log message for revision 66208: note that Five was updated Changed: U Zope/branches/2.9/doc/CHANGES.txt -=- Modified: Zope/branches/2.9/doc/CHANGES.txt === --- Zope/branches/2.9/doc/CHANGES.txt 2006-03-26 22:12:10 UTC (rev 66207) +++ Zope/branches/2.9/doc/CHANGES.txt 2006-03-26 22:18:34 UTC (rev 66208) @@ -28,6 +28,9 @@ - Put the default skin interface on the request once it is created, both in ZPublisher and ZopeTestCase. + - Updated Five to bugfix release 1.3.3. See +Products/Five/CHANGES.txt for more info. + Zope 2.9.1 (2006/02/25) Bugs fixed ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.2/ Merge philikon-fix-lookup-priorities branch.
Log message for revision 66209: Merge philikon-fix-lookup-priorities branch. Changed: U Products.Five/branches/1.2/CHANGES.txt U Products.Five/branches/1.2/browser/tests/test_traversable.py U Products.Five/branches/1.2/fiveconfigure.py U Products.Five/branches/1.2/tests/testing/fancycontent.py U Products.Five/branches/1.2/traversable.py -=- Modified: Products.Five/branches/1.2/CHANGES.txt === --- Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:18:34 UTC (rev 66208) +++ Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:19:14 UTC (rev 66209) @@ -5,9 +5,24 @@ Five 1.2.1 (2006-03-26) === +Bugfixes + + * A local utility registered with an derived interface will now be available by the inherited interface as well, in the same way as Zope3. +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + + This change requires Zope 2.9.2 or higher. + Five 1.2.1 (2006-02-25) === Modified: Products.Five/branches/1.2/browser/tests/test_traversable.py === --- Products.Five/branches/1.2/browser/tests/test_traversable.py 2006-03-26 22:18:34 UTC (rev 66208) +++ Products.Five/branches/1.2/browser/tests/test_traversable.py 2006-03-26 22:19:14 UTC (rev 66209) @@ -67,7 +67,8 @@ ... - ... + ... + ... ... - ... + ... + ... + ... ... ''' >>> zcml.load_string(configure_zcml) @@ -92,23 +107,49 @@ ... something-else -Of course we also need to make sure that Zope 3 style view lookup -actually works: +Once we have a custom __bobo_traverse__ method, though, it always +takes over. Therefore, unless it raises AttributeError or +KeyError, it will be the only way traversal is done. >>> print http(r''' - ... GET /test_folder_1_/fancy/fancy HTTP/1.1 + ... GET /test_folder_1_/fancy/fancyview HTTP/1.1 ... ''') HTTP/1.1 200 OK ... + fancyview + +As said, if the original __bobo_traverse__ method *does* raise +AttributeError or KeyError, we can get normal view look-up. Other +exceptions are passed through just fine: + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-attributeerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... Fancy, fancy - + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-keyerror HTTP/1.1 + ... ''') + HTTP/1.1 200 OK + ... + Fancy, fancy + + >>> print http(r''' + ... GET /test_folder_1_/fancy/raise-valueerror HTTP/1.1 + ... ''', handle_errors=False) + Traceback (most recent call last): +... + ValueError: ... + Five's traversable monkeypatches the __bobo_traverse__ method to do view lookup and then delegates back to the original __bobo_traverse__ or direct attribute/item lookup to do normal lookup. In the Zope 2 ZPublisher, an object with a __bobo_traverse__ will not do attribute lookup unless the __bobo_traverse__ method itself does it (i.e. the __bobo_traverse__ is the only element used for traversal lookup). Let's demonstrate: - + >>> from Products.Five.tests.testing.fancycontent import manage_addNonTraversableFancyContent >>> info = manage_addNonTraversableFancyContent(self.folder, 'fancy_zope2', '') >>> self.folder.fancy_zope2.an_attribute = 'This is an attribute' @@ -118,7 +159,7 @@ HTTP/1.1 200 OK ... an_attribute - + Without a __bobo_traverse__ method this would have returned the attribute value 'This is an attribute'. Let's make sure the same thing happens for an object that has been marked traversable by Five: @@ -154,6 +195,70 @@ False """ +def test_view_doesnt_shadow_attribute(): +""" +Test that views don't shadow attributes, e.g. items in a folder. + +Let's first define a browser page for object managers called +``eagle``: + + >>> configure_zcml = ''' + ... http://namespaces.zope.org/zope"; + ...xmlns:meta="http://namespaces.zope.org/meta"; + ...xmlns:browser="http://namespaces.zope.org/browser"; + ...xmlns:five="http://namespaces.zope.org/five";> + ... + ... + ... + ... ''' + >>> import Products.Five + >>> from Products.Five import zcml + >>> zcml.load_config("configure.zcml", Products.Five) + >>> zcml.load_string(configure_zcml) + +Then we create a traversable folder... + + >
[Zope-Checkins] SVN: Products.Five/branches/1.2/ correct version numbers
Log message for revision 66210: correct version numbers Changed: U Products.Five/branches/1.2/CHANGES.txt U Products.Five/branches/1.2/version.txt -=- Modified: Products.Five/branches/1.2/CHANGES.txt === --- Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:19:14 UTC (rev 66209) +++ Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:20:06 UTC (rev 66210) @@ -2,7 +2,7 @@ Five Changes -Five 1.2.1 (2006-03-26) +Five 1.2.2 (2006-03-26) === Bugfixes Modified: Products.Five/branches/1.2/version.txt === --- Products.Five/branches/1.2/version.txt 2006-03-26 22:19:14 UTC (rev 66209) +++ Products.Five/branches/1.2/version.txt 2006-03-26 22:20:06 UTC (rev 66210) @@ -1 +1 @@ -Five 1.2.1 +Five 1.2.2 ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.2/CHANGES.txt Remove bogus note
Log message for revision 66211: Remove bogus note Changed: U Products.Five/branches/1.2/CHANGES.txt -=- Modified: Products.Five/branches/1.2/CHANGES.txt === --- Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:20:06 UTC (rev 66210) +++ Products.Five/branches/1.2/CHANGES.txt 2006-03-26 22:31:56 UTC (rev 66211) @@ -21,8 +21,6 @@ 3. If neither __bobo_traverse__ nor attribute/key look-up work, it tries to find a Zope 3-style view. - This change requires Zope 2.9.2 or higher. - Five 1.2.1 (2006-02-25) === ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/ Merge philikon-fix-lookup-priorities branch and prepare for release.
Log message for revision 66212: Merge philikon-fix-lookup-priorities branch and prepare for release. Changed: U Products.Five/branches/1.0/CHANGES.txt U Products.Five/branches/1.0/fiveconfigure.py U Products.Five/branches/1.0/tests/test_five.py U Products.Five/branches/1.0/traversable.py U Products.Five/branches/1.0/version.txt -=- Modified: Products.Five/branches/1.0/CHANGES.txt === --- Products.Five/branches/1.0/CHANGES.txt 2006-03-26 22:31:56 UTC (rev 66211) +++ Products.Five/branches/1.0/CHANGES.txt 2006-03-26 22:37:14 UTC (rev 66212) @@ -2,14 +2,24 @@ Five Changes -Five 1.0.3 (...) - +Five 1.0.3 (2006-03-26) +=== -* Added missing fix from newer versions of Five where the _context wasn't - getting cleaned up properly in zcml.py. Without this fix, adapter lookups - wouldn't work in any test after the first test that used load_zcml in the - same test fixture (essentially adapter lookups were dead). +Bugfixes + +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + +* Properly clean up ZCML context in Five.zcml. + * Fixed bug that broke WebDAV access for five:defaultViewable objects. The __browser_default__ now modifies only GET and POST requests. @@ -20,7 +30,8 @@ instead of the ZopeTwoPageTemplateFile. This seem to cause access problems in some very obscure situations, and is now fixed. -* FivePageTemplate is now deprecated and will be removed in Five 1.1. +* FivePageTemplate is now deprecated and removed in more recent + versions of Five. * Some parts of add.pt and edit.pt were not being translated. Modified: Products.Five/branches/1.0/fiveconfigure.py === --- Products.Five/branches/1.0/fiveconfigure.py 2006-03-26 22:31:56 UTC (rev 66211) +++ Products.Five/branches/1.0/fiveconfigure.py 2006-03-26 22:37:14 UTC (rev 66212) @@ -28,10 +28,10 @@ from zope.interface import classImplements from zope.configuration import xmlconfig from zope.app.component.interface import provideInterface -from viewable import Viewable -from traversable import Traversable -from bridge import fromZ2Interface -from browserconfigure import page +from Products.Five.viewable import Viewable +from Products.Five.traversable import Traversable +from Products.Five.bridge import fromZ2Interface +from Products.Five.browserconfigure import page debug_mode = App.config.getConfiguration().debug_mode @@ -54,7 +54,7 @@ # in the control panel. However, all attempts to do so has failed from my # side. //regebro exc = sys.exc_info() -LOG('Five', ERROR, 'Could not import Product %s' % name, error=exc) +LOG('Five', ERROR, 'Could not import Product %s' % product.__name__, error=exc) def loadProducts(_context): products = findProducts() @@ -118,14 +118,11 @@ isFiveMethod(class_.__bobo_traverse__)): return -if hasattr(class_, '__bobo_traverse__'): -if not isFiveMethod(class_.__bobo_traverse__): -# if there's an existing bobo_traverse hook already, use that -# as the traversal fallback method -setattr(class_, '__fallback_traverse__', class_.__bobo_traverse__) -if not hasattr(class_, '__fallback_traverse__'): -setattr(class_, '__fallback_traverse__', -Traversable.__fallback_traverse__.im_func) +if (hasattr(class_, '__bobo_traverse__') and +not isFiveMethod(class_.__bobo_traverse__)): +# if there's an existing bobo_traverse hook already, use that +# as the traversal fallback method +setattr(class_, '__fallback_traverse__', class_.__bobo_traverse__) setattr(class_, '__bobo_traverse__', Traversable.__bobo_traverse__.im_func) Modified: Products.Five/branches/1.0/tests/test_five.py === --- Products.Five/branches/1.0/tests/test_five.py 2006-03-26 22:31:56 UTC (rev 66211) +++ Products.Five/branches/1.0/tests/test_five.py 2006-03-26 22:37:14 UTC (rev 66212) @@ -333,9 +333,11 @@ response = self.publish('/test_folder_1_/fancy/something-else') self.assertEquals('something-else', response.getBody()) -# check if z3-based view lookup works +# even though we have a zope 3 view registered as 'fancy', it +# doesn't kick in, the existing bobo_traverse takes over +# everything response = self.publish('/test_folder_1_/fancy/fancy') -self.assertEquals("Fancy, fancy", response.getBody()) +self.assertEq
[Zope-Checkins] SVN: Products.Five/tags/1.2.2/ Tag release
Log message for revision 66213: Tag release Changed: A Products.Five/tags/1.2.2/ -=- Copied: Products.Five/tags/1.2.2 (from rev 66212, Products.Five/branches/1.2) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/tests/test_five.py fix indentation to bring this version closer to the one in Zope 2.8 branch
Log message for revision 66214: fix indentation to bring this version closer to the one in Zope 2.8 branch Changed: U Products.Five/branches/1.0/tests/test_five.py -=- Modified: Products.Five/branches/1.0/tests/test_five.py === --- Products.Five/branches/1.0/tests/test_five.py 2006-03-26 22:40:27 UTC (rev 66213) +++ Products.Five/branches/1.0/tests/test_five.py 2006-03-26 22:59:39 UTC (rev 66214) @@ -49,7 +49,7 @@ from Products.Five.tests.products import FiveTest _prefix = os.path.dirname(FiveTest.__file__) dir_resource_names = [os.path.basename(r) -for r in (glob.glob('%s/*.png' % _prefix) + + for r in (glob.glob('%s/*.png' % _prefix) + glob.glob('%s/*.pt' % _prefix) + glob.glob('%s/[a-z]*.py' % _prefix) + glob.glob('%s/*.css' % _prefix))] @@ -276,7 +276,7 @@ # Test traversal base = 'testoid/@@fivetest_macros/%s' for macro in ('birdmacro', 'dogmacro', -'flying', 'walking'): + 'flying', 'walking'): view = self.folder.unrestrictedTraverse(base % macro) self.failUnless(view) @@ -413,7 +413,7 @@ from zope.app.publisher.browser.globalbrowsermenuservice import \ -globalBrowserMenuService + globalBrowserMenuService class MenuTest(FiveTestCase): ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.0.3/ Last and final release of Five 1.0.x.
Log message for revision 66215: Last and final release of Five 1.0.x. Changed: A Products.Five/tags/1.0.3/ -=- Copied: Products.Five/tags/1.0.3 (from rev 66214, Products.Five/branches/1.0) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/2.9/releases/Zope2.map Forgot to provide mappings for pullparser and ClientForm
Log message for revision 66224: Forgot to provide mappings for pullparser and ClientForm Changed: U Zope/branches/2.9/releases/Zope2.map -=- Modified: Zope/branches/2.9/releases/Zope2.map === --- Zope/branches/2.9/releases/Zope2.map2006-03-27 05:05:53 UTC (rev 66223) +++ Zope/branches/2.9/releases/Zope2.map2006-03-27 05:16:31 UTC (rev 66224) @@ -69,6 +69,8 @@ zLOG ../lib/python/zLOG mechanize ../lib/python/mechanize ClientCookie ../lib/python/ClientCookie +pullparser../lib/python/pullparser.py +ClientForm../lib/python/ClientForm.py # These packages are the release collections based on the Zope 2 # project; they define what goes into the Zope 2 and related ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/ Move registration of traversing adapters out to its own file, along with the inclusion
Log message for revision 66229: Move registration of traversing adapters out to its own file, along with the inclusion of zope.app.traversing. Move the inclusion of zope.app.event out to event.zcml. Changed: U Products.Five/branches/philikon-local-components/configure.zcml U Products.Five/branches/philikon-local-components/event.zcml A Products.Five/branches/philikon-local-components/traversing.zcml -=- Modified: Products.Five/branches/philikon-local-components/configure.zcml === --- Products.Five/branches/philikon-local-components/configure.zcml 2006-03-27 07:55:33 UTC (rev 66228) +++ Products.Five/branches/philikon-local-components/configure.zcml 2006-03-27 10:39:33 UTC (rev 66229) @@ -6,6 +6,7 @@ + @@ -14,28 +15,6 @@ - - - - - - - - - - Modified: Products.Five/branches/philikon-local-components/event.zcml === --- Products.Five/branches/philikon-local-components/event.zcml 2006-03-27 07:55:33 UTC (rev 66228) +++ Products.Five/branches/philikon-local-components/event.zcml 2006-03-27 10:39:33 UTC (rev 66229) @@ -1,5 +1,8 @@ http://namespaces.zope.org/zope";> + + + Added: Products.Five/branches/philikon-local-components/traversing.zcml === --- Products.Five/branches/philikon-local-components/traversing.zcml 2006-03-27 07:55:33 UTC (rev 66228) +++ Products.Five/branches/philikon-local-components/traversing.zcml 2006-03-27 10:39:33 UTC (rev 66229) @@ -0,0 +1,29 @@ +http://namespaces.zope.org/zope"; + xmlns:five="http://namespaces.zope.org/five";> + + + + + + + + + + + + + Property changes on: Products.Five/branches/philikon-local-components/traversing.zcml ___ Name: svn:eol-style + native ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/site/ Convert some uses of ISiteManager to IComponentLookup.
Log message for revision 66230: Convert some uses of ISiteManager to IComponentLookup. Get rid of some deprecated stuff that is to go away for Five 1.5. Changed: U Products.Five/branches/philikon-local-components/site/interfaces.py U Products.Five/branches/philikon-local-components/site/tests/test_localsite.py U Products.Five/branches/philikon-local-components/site/utility.py -=- Modified: Products.Five/branches/philikon-local-components/site/interfaces.py === --- Products.Five/branches/philikon-local-components/site/interfaces.py 2006-03-27 10:39:33 UTC (rev 66229) +++ Products.Five/branches/philikon-local-components/site/interfaces.py 2006-03-27 10:40:29 UTC (rev 66230) @@ -16,7 +16,7 @@ $Id: interfaces.py 18584 2005-10-14 17:13:27Z regebro $ """ from zope.interface import Interface, Attribute -from zope.component.interfaces import ISiteManager +from zope.component.interfaces import IComponentLookup class IRegisterUtilitySimply(Interface): """Register utilities simply @@ -76,7 +76,7 @@ returned. """ -class IFiveSiteManager(ISiteManager, IRegisterUtilitySimply): +class IFiveSiteManager(IComponentLookup, IRegisterUtilitySimply): """Five site manager For the sake of forward-portability, registering utilities can be @@ -84,12 +84,3 @@ utility service (this corresponds to Zope 3.1's understanding of site managers). An implementation of this interface will probably delegate the work to an IFiveUtilityService component, though.""" - - -# BBB 2005/11/01 -- gone in Five 1.5. -IFiveUtilityService = IFiveUtilityRegistry -import zope.deprecation -zope.deprecation.deprecated( -'IFiveUtilityService', "'IFiveUtilityService' has been renamed to " -"'IFiveUtilityRegistry' and will disappear in Five 1.5." -) Modified: Products.Five/branches/philikon-local-components/site/tests/test_localsite.py === --- Products.Five/branches/philikon-local-components/site/tests/test_localsite.py 2006-03-27 10:39:33 UTC (rev 66229) +++ Products.Five/branches/philikon-local-components/site/tests/test_localsite.py 2006-03-27 10:40:29 UTC (rev 66230) @@ -26,7 +26,7 @@ import zope.interface from zope.component import getGlobalSiteManager, getSiteManager from zope.component.interfaces import ComponentLookupError -from zope.component.interfaces import ISiteManager +from zope.component.interfaces import IComponentLookup from zope.app.component.hooks import setSite, getSite, setHooks from zope.app.component.interfaces import IPossibleSite, ISite from zope.app.traversing.interfaces import IContainmentRoot @@ -39,7 +39,7 @@ from Products.Five import zcml class SiteManager(Implicit): -zope.interface.implements(ISiteManager) +zope.interface.implements(IComponentLookup) class Folder(ObjectManager): @@ -57,7 +57,7 @@ return getGlobalSiteManager() class SiteManagerStub(object): -zope.interface.implements(ISiteManager) +zope.interface.implements(IComponentLookup) class SiteManagerTest(PlacelessSetup, unittest.TestCase): Modified: Products.Five/branches/philikon-local-components/site/utility.py === --- Products.Five/branches/philikon-local-components/site/utility.py 2006-03-27 10:39:33 UTC (rev 66229) +++ Products.Five/branches/philikon-local-components/site/utility.py 2006-03-27 10:40:29 UTC (rev 66230) @@ -116,11 +116,3 @@ "%s with the name '%s'" % (interface.getName(), name)) utilities._setObject(id, utility) - -# BBB 2005/11/01 -- gone in Five 1.5. -SimpleLocalUtilityService = SimpleLocalUtilityRegistry -import zope.deprecation -zope.deprecation.deprecated( -'SimpleLocalUtilityService', "'SimpleLocalUtilityService' has been renamed to " -"'SimpleLocalUtilityRegistry' and will disappear in Five 1.5." -) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/browser/pagetemplatefile.py Remove unnecessary rebind magic.
Log message for revision 66231: Remove unnecessary rebind magic. Tighten the screws on a test whether 'view' is None or not. Changed: U Products.Five/branches/philikon-local-components/browser/pagetemplatefile.py -=- Modified: Products.Five/branches/philikon-local-components/browser/pagetemplatefile.py === --- Products.Five/branches/philikon-local-components/browser/pagetemplatefile.py 2006-03-27 10:40:29 UTC (rev 66230) +++ Products.Five/branches/philikon-local-components/browser/pagetemplatefile.py 2006-03-27 10:41:13 UTC (rev 66231) @@ -63,7 +63,7 @@ pt_render = rebindFunction(PageTemplateFile.pt_render, getEngine=getEngine) -def _pt_getContext(self): +def pt_getContext(self): try: root = self.getPhysicalRoot() view = self._getContext() @@ -87,11 +87,8 @@ 'request': request, 'modules': ModuleImporter, } -if view: +if view is not None: c['view'] = view c['views'] = ViewMapper(here, request) return c - -pt_getContext = rebindFunction(_pt_getContext, - SecureModuleImporter=ModuleImporter) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/component/ template -> zpt
Log message for revision 66232: template -> zpt Changed: U Products.Five/branches/philikon-local-components/component/configure.zcml D Products.Five/branches/philikon-local-components/component/customizetemplate.pt A Products.Five/branches/philikon-local-components/component/customizezpt.pt D Products.Five/branches/philikon-local-components/component/templateviews.pt U Products.Five/branches/philikon-local-components/component/zpt.txt A Products.Five/branches/philikon-local-components/component/zptviews.pt -=- Modified: Products.Five/branches/philikon-local-components/component/configure.zcml === --- Products.Five/branches/philikon-local-components/component/configure.zcml 2006-03-27 10:41:13 UTC (rev 66231) +++ Products.Five/branches/philikon-local-components/component/configure.zcml 2006-03-27 11:09:49 UTC (rev 66232) @@ -28,15 +28,15 @@ permission="five.ManageSite"> Deleted: Products.Five/branches/philikon-local-components/component/customizetemplate.pt === --- Products.Five/branches/philikon-local-components/component/customizetemplate.pt 2006-03-27 10:41:13 UTC (rev 66231) +++ Products.Five/branches/philikon-local-components/component/customizetemplate.pt 2006-03-27 11:09:49 UTC (rev 66232) @@ -1,26 +0,0 @@ - - - - - This is the source of the - viewname: - - -template source - - - - - - - - - - - - - Copied: Products.Five/branches/philikon-local-components/component/customizezpt.pt (from rev 65825, Products.Five/branches/philikon-local-components/component/customizetemplate.pt) === --- Products.Five/branches/philikon-local-components/component/customizetemplate.pt 2006-03-05 16:32:34 UTC (rev 65825) +++ Products.Five/branches/philikon-local-components/component/customizezpt.pt 2006-03-27 11:09:49 UTC (rev 66232) @@ -0,0 +1,26 @@ + + + + + This is the source of the + viewname: + + +template source + + + + + + + + + + + + + Deleted: Products.Five/branches/philikon-local-components/component/templateviews.pt === --- Products.Five/branches/philikon-local-components/component/templateviews.pt 2006-03-27 10:41:13 UTC (rev 66231) +++ Products.Five/branches/philikon-local-components/component/templateviews.pt 2006-03-27 11:09:49 UTC (rev 66232) @@ -1,33 +0,0 @@ - - - - - Template-based (global) browser views available - for this component: - - - - - Name of View - Registration Info - - - - - - - - zptfile - for - zcmlfile - - - - - - - Modified: Products.Five/branches/philikon-local-components/component/zpt.txt === --- Products.Five/branches/philikon-local-components/component/zpt.txt 2006-03-27 10:41:13 UTC (rev 66231) +++ Products.Five/branches/philikon-local-components/component/zpt.txt 2006-03-27 11:09:49 UTC (rev 66232) @@ -28,6 +28,7 @@ >>> import zope.app.event >>> zcml.load_config('meta.zcml', Products.Five) >>> zcml.load_config('permissions.zcml', Products.Five) + #>>> zcml.load_config('traversing.zcml', Products.Five) >>> zcml.load_config('configure.zcml', Products.Five.component) >>> zcml.load_config('configure.zcml', zope.app.event) @@ -89,13 +90,13 @@ registered at): >>> view = zope.component.getMultiAdapter((item, request), - ... name=u"templateviews.html") + ... name=u"zptviews.html") >>> view = view.__of__(item) >>> from pprint import pprint >>> viewnames = [reg.name for reg in view.templateViewRegistrations()] >>> viewnames.sort() >>> pprint(viewnames) - [u'customizetemplate.html', u'templateviews.html'] + [u'customizezpt.html', u'zptviews.html'] 3. and 4. Customizing a template-based view @@ -105,12 +106,12 @@ the source of its template: >>> view = zope.component.getMultiAdapter((item, request), - ... name=u"customizetemplate.html") + ... name=u"customizezpt.html") >>> view = view.__of__(item) - >>> template = view.templateFromViewname(u'customizetemplate.html') + >>> template = view.templateFromViewname(u'customizezpt.html') >>> import os.path >>> os.path.basename(template.filename) - 'customizetemplate.pt' + 'customizezpt.pt' >>> print template.read() #doctest: +ELLIPSIS >> zpt = view.doCustomizeTemplate(u'customizetemplate.html') + >>> zpt = view.doCustomizeTemplate(u'customizezpt.html') That actually creates a PageTemplate object in the nearest site (perhaps later we'd like to have t
[Zope-Checkins] SVN: Zope/trunk/ Include zope.testbrowser dependencies pullparser and ClientForm
Log message for revision 66261: Include zope.testbrowser dependencies pullparser and ClientForm Changed: A Zope/trunk/lib/python/ClientForm.py A Zope/trunk/lib/python/pullparser.py U Zope/trunk/releases/Zope2.map -=- Copied: Zope/trunk/lib/python/ClientForm.py (from rev 66260, Zope3/trunk/src/ClientForm.py) Copied: Zope/trunk/lib/python/pullparser.py (from rev 66260, Zope3/trunk/src/pullparser.py) Modified: Zope/trunk/releases/Zope2.map === --- Zope/trunk/releases/Zope2.map 2006-03-29 16:27:52 UTC (rev 66260) +++ Zope/trunk/releases/Zope2.map 2006-03-29 18:16:01 UTC (rev 66261) @@ -69,6 +69,8 @@ zLOG ../lib/python/zLOG mechanize ../lib/python/mechanize ClientCookie ../lib/python/ClientCookie +pullparser../lib/python/pullparser.py +ClientForm../lib/python/ClientForm.py # These packages are the release collections based on the Zope 2 # project; they define what goes into the Zope 2 and related ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.3/ Five bugfix release: Add as alias to
Log message for revision 66268: Five bugfix release: Add as alias to Changed: U Products.Five/branches/1.3/CHANGES.txt U Products.Five/branches/1.3/meta.zcml U Products.Five/branches/1.3/version.txt -=- Modified: Products.Five/branches/1.3/CHANGES.txt === --- Products.Five/branches/1.3/CHANGES.txt 2006-03-31 09:40:54 UTC (rev 66267) +++ Products.Five/branches/1.3/CHANGES.txt 2006-03-31 16:21:33 UTC (rev 66268) @@ -2,9 +2,19 @@ Five Changes +Five 1.3.4 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + Five 1.3.3 (2006-03-26) === +This version is also included in Five 2.9.2 + Bugfixes Modified: Products.Five/branches/1.3/meta.zcml === --- Products.Five/branches/1.3/meta.zcml2006-03-31 09:40:54 UTC (rev 66267) +++ Products.Five/branches/1.3/meta.zcml2006-03-31 16:21:33 UTC (rev 66268) @@ -51,6 +51,29 @@ /> + + + + + + + + + +http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.4/ forwardport bugfix: Add as alias to
Log message for revision 66269: forwardport bugfix: Add as alias to Changed: U Products.Five/branches/1.4/CHANGES.txt U Products.Five/branches/1.4/meta.zcml -=- Modified: Products.Five/branches/1.4/CHANGES.txt === --- Products.Five/branches/1.4/CHANGES.txt 2006-03-31 16:21:33 UTC (rev 66268) +++ Products.Five/branches/1.4/CHANGES.txt 2006-03-31 16:23:20 UTC (rev 66269) @@ -27,9 +27,19 @@ NOTE: Anyone who copied the Five site.zcml to their $INSTANCE_HOME/etc/ directory is going to need to update it. +Five 1.3.4 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + Five 1.3.3 (2006-03-26) === +This version is also included in Five 2.9.2 + Bugfixes Modified: Products.Five/branches/1.4/meta.zcml === --- Products.Five/branches/1.4/meta.zcml2006-03-31 16:21:33 UTC (rev 66268) +++ Products.Five/branches/1.4/meta.zcml2006-03-31 16:23:20 UTC (rev 66269) @@ -51,6 +51,29 @@ /> + + + + + + + + + +http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/trunk/ forwardport bugfix: Add as alias to
Log message for revision 66270: forwardport bugfix: Add as alias to Changed: U Products.Five/trunk/CHANGES.txt U Products.Five/trunk/meta.zcml -=- Modified: Products.Five/trunk/CHANGES.txt === --- Products.Five/trunk/CHANGES.txt 2006-03-31 16:23:20 UTC (rev 66269) +++ Products.Five/trunk/CHANGES.txt 2006-03-31 16:25:43 UTC (rev 66270) @@ -8,6 +8,10 @@ Features +* Add python-packages-as-zope-products support which basically allows + for using any python package as a zope product without it having to + live in Products/ + * Add zope.formlib support. Please see ``doc/formlib.txt`` for more information. @@ -23,9 +27,19 @@ NOTE: Anyone who copied the Five site.zcml to their $INSTANCE_HOME/etc/ directory is going to need to update it. +Five 1.3.4 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + Five 1.3.3 (2006-03-26) === +This version is also included in Five 2.9.2 + Bugfixes Modified: Products.Five/trunk/meta.zcml === --- Products.Five/trunk/meta.zcml 2006-03-31 16:23:20 UTC (rev 66269) +++ Products.Five/trunk/meta.zcml 2006-03-31 16:25:43 UTC (rev 66270) @@ -51,6 +51,29 @@ /> + + + + + + + + + +http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.2/ Five bugfix release: Add as alias to
Log message for revision 66271: Five bugfix release: Add as alias to Changed: U Products.Five/branches/1.2/CHANGES.txt U Products.Five/branches/1.2/meta.zcml U Products.Five/branches/1.2/version.txt -=- Modified: Products.Five/branches/1.2/CHANGES.txt === --- Products.Five/branches/1.2/CHANGES.txt 2006-03-31 16:25:43 UTC (rev 66270) +++ Products.Five/branches/1.2/CHANGES.txt 2006-03-31 16:35:05 UTC (rev 66271) @@ -2,6 +2,14 @@ Five Changes +Five 1.2.3 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + Five 1.2.2 (2006-03-26) === Modified: Products.Five/branches/1.2/meta.zcml === --- Products.Five/branches/1.2/meta.zcml2006-03-31 16:25:43 UTC (rev 66270) +++ Products.Five/branches/1.2/meta.zcml2006-03-31 16:35:05 UTC (rev 66271) @@ -63,6 +63,29 @@ /> + + + + + + + + + +http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.0.3/ Remove prematurely created tag
Log message for revision 66272: Remove prematurely created tag Changed: D Products.Five/tags/1.0.3/ -=- ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/ backport bugfix: Add as alias to
Log message for revision 66273: backport bugfix: Add as alias to Changed: U Products.Five/branches/1.0/CHANGES.txt U Products.Five/branches/1.0/meta.zcml -=- Modified: Products.Five/branches/1.0/CHANGES.txt === --- Products.Five/branches/1.0/CHANGES.txt 2006-03-31 16:37:03 UTC (rev 66272) +++ Products.Five/branches/1.0/CHANGES.txt 2006-03-31 16:38:21 UTC (rev 66273) @@ -2,12 +2,14 @@ Five Changes -Five 1.0.3 (2006-03-26) +Five 1.0.3 (2006-03-31) === Bugfixes +* Added the ``class`` ZCML directive as an alias to ``content``. + * Fixed look-up order during Five traversal. It is now as follows: 1. If an object has __bobo_traverse__, use it. Modified: Products.Five/branches/1.0/meta.zcml === --- Products.Five/branches/1.0/meta.zcml2006-03-31 16:37:03 UTC (rev 66272) +++ Products.Five/branches/1.0/meta.zcml2006-03-31 16:38:21 UTC (rev 66273) @@ -59,6 +59,29 @@ /> + + + + + + + + + +http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-fix-lookup-priorities/ Get rid of no longer needed branch
Log message for revision 66274: Get rid of no longer needed branch Changed: D Products.Five/branches/philikon-fix-lookup-priorities/ -=- ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/CHANGES.txt Prepare for a final 1.0.x bugfix release. We won't have to be compatible
Log message for revision 66275: Prepare for a final 1.0.x bugfix release. We won't have to be compatible with Zope 2.7 anymore Changed: U Products.Five/branches/1.0/CHANGES.txt -=- Modified: Products.Five/branches/1.0/CHANGES.txt === --- Products.Five/branches/1.0/CHANGES.txt 2006-03-31 16:40:21 UTC (rev 66274) +++ Products.Five/branches/1.0/CHANGES.txt 2006-03-31 16:50:06 UTC (rev 66275) @@ -5,6 +5,9 @@ Five 1.0.3 (2006-03-31) === +This version is also included in Zope 2.8.7. It no longer supports +Zope 2.7! + Bugfixes ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/ Get rid of monkey which is unnecessary in Zope 2.8
Log message for revision 66276: Get rid of monkey which is unnecessary in Zope 2.8 Changed: U Products.Five/branches/1.0/__init__.py D Products.Five/branches/1.0/monkey.py -=- Modified: Products.Five/branches/1.0/__init__.py === --- Products.Five/branches/1.0/__init__.py 2006-03-31 16:50:06 UTC (rev 66275) +++ Products.Five/branches/1.0/__init__.py 2006-03-31 16:50:28 UTC (rev 66276) @@ -18,12 +18,8 @@ import Acquisition from Globals import INSTANCE_HOME -import monkey import zcml -# trigger monkey patches -monkey.monkeyPatch() - # public API provided by Five # usage: from Products.Five import from browser import BrowserView Deleted: Products.Five/branches/1.0/monkey.py === --- Products.Five/branches/1.0/monkey.py2006-03-31 16:50:06 UTC (rev 66275) +++ Products.Five/branches/1.0/monkey.py2006-03-31 16:50:28 UTC (rev 66276) @@ -1,40 +0,0 @@ -## -# -# Copyright (c) 2004, 2005 Zope Corporation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -## -"""Bad monkey! - -$Id$ -""" -def monkeyPatch(): -"""Trigger all monkey patches needed to make Five work. - -This adjusts Zope 2 classes to make them work with Zope 3. - -Monkey patches are kept to a minimum level. -""" - -from ZPublisher.HTTPRequest import HTTPRequest - -def getPresentationSkin(self): -return getattr(self, '_presentation_skin', None) - -def setPresentationSkin(self, skin): -self._presentation_skin = skin - -def getURL(self): -return self.URL - -HTTPRequest.getPresentationSkin = getPresentationSkin -HTTPRequest.setPresentationSkin = setPresentationSkin -HTTPRequest.__contains__ = lambda self, key: self.has_key(key) -HTTPRequest.getURL = getURL ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/tests/test_event.py ZODB 3.4-style savepoints
Log message for revision 66277: ZODB 3.4-style savepoints Changed: U Products.Five/branches/1.0/tests/test_event.py -=- Modified: Products.Five/branches/1.0/tests/test_event.py === --- Products.Five/branches/1.0/tests/test_event.py 2006-03-31 16:50:28 UTC (rev 66276) +++ Products.Five/branches/1.0/tests/test_event.py 2006-03-31 16:51:28 UTC (rev 66277) @@ -21,6 +21,8 @@ from Products.Five.tests.fivetest import * +import transaction + from Products.Five.tests.products.FiveTest.subscriber import clear from Products.Five.tests.products.FiveTest.subscriber import objectEventCatcher, \ objectAddedEventCatcher, objectMovedEventCatcher, \ @@ -62,7 +64,7 @@ manage_addSimpleContent(self.folder, 'foo', 'Foo') # somehow we need to at least commit a subtransaction to make # renaming succeed -get_transaction().commit(1) +transaction.savepoint() self.folder.manage_renameObject('foo', 'bar') bar = self.folder.bar events = objectEventCatcher.getEvents() @@ -96,7 +98,7 @@ manage_addSimpleContent(folder1, 'foo', 'Foo') foo = folder1.foo # need to trigger subtransaction before copy/paste can work -get_transaction().commit(1) +transaction.savepoint() cb = folder1.manage_cutObjects(['foo']) folder2.manage_pasteObjects(cb) newfoo = folder2.foo @@ -126,7 +128,7 @@ manage_addNoVerifyPasteFolder(self.folder, 'folder1') folder1 = self.folder.folder1 # need to trigger subtransaction before copy/paste can work -get_transaction().commit(1) +transaction.savepoint() cb = self.folder.manage_copyObjects(['foo']) folder1.manage_pasteObjects(cb) foo_copy = folder1.foo ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/ Make docs more Zope 2.8-friendly
Log message for revision 66278: Make docs more Zope 2.8-friendly Changed: U Products.Five/branches/1.0/COPYING.txt U Products.Five/branches/1.0/INSTALL.txt -=- Modified: Products.Five/branches/1.0/COPYING.txt === --- Products.Five/branches/1.0/COPYING.txt 2006-03-31 16:51:28 UTC (rev 66277) +++ Products.Five/branches/1.0/COPYING.txt 2006-03-31 16:52:05 UTC (rev 66278) @@ -6,19 +6,8 @@ Five contains source code derived from: -- Zope 3, copyright (C) 2001-2005 by Zope Corporation. Code that - falls under this copyright is prefixed with the following header: +- Zope 3, copyright (C) 2001-2005 by Zope Corporation. - Copyright (c) 2001-2004 Zope Corporation and Contributors. - All Rights Reserved. - - This software is subject to the provisions of the Zope Public - License, Version 2.1 (ZPL). A copy of the ZPL should accompany this - distribution. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL - EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, - AGAINST INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. - - metaclass.py is derived from PEAK, copyright (C) 1996-2004 by Phillip J. Eby and Tyler C. Sarna. PEAK may be used under the same terms as Zope. Modified: Products.Five/branches/1.0/INSTALL.txt === --- Products.Five/branches/1.0/INSTALL.txt 2006-03-31 16:51:28 UTC (rev 66277) +++ Products.Five/branches/1.0/INSTALL.txt 2006-03-31 16:52:05 UTC (rev 66278) @@ -1,74 +1,18 @@ How to install Five +=== -Requirements for Five 1.0 -= +Requirements for Five 1.0.3 +--- -* Zope 2.7.4+ with python 2.3.x. Zope versions lower than Zope 2.7.4 - may work, but no guarantees. +* Zope 2.8.0+ with Python 2.3.x. -* Zope X3.0.0, found here: http://zope.org/Products/ZopeX3/3.0.0final/ +Note that Five 1.0 is also part of Zope 2.8. You can still install a +newer Five version in your instance, if you like. It will override +the Five product inside the Zope tree. -Note that Five 1.0 is also part of Zope 2.8, so if you are using Zope -2.8, you do not need to install Five separately, unless you want to -use a version of Five later than 1.0. -Installing Five -=== +Running the tests +- -Installing Five is relatively straightforward. - -* Select a Zope 2.7 instance. - -* Download and install Zope X3.0.0. You can get it compiled and - installed by: - -* Typing ``configure``. When you're experimenting, typically you - want to use the ``--prefix`` directive to install the binaries - to install it somewhere in your homedirectory. - -* ``make`` - -* ``make install`` - - On windows you can install choose to use the binary release instead. - - Alternatively you can check out the latest subversion version of - Zope X3.0 and typing ``make`` to produce it in-place. - -* You need to make your Zope 2.7 instance aware of Zope 3 so it can - import the ``zope``, ``persistent`` and ``transaction`` packages from it. - -* In non-ZEO setups, you can simply go to the ``etc/zope.conf`` of - your Zope 2.7 instance and add a ``path`` entry. If you used the - released version of Zope X3.0.0, use something like the following:: - -path /path/to/installed/Zope3/lib/python - - If you are instead using the subversion version, use:: - -path /path/to/Zope3/src - - If you have problems however, see the instructions for the ZEO - setup. - -* In ZEO setups (or some other circumstances), Zope 3's ZEO packages - will interfere with Zope 2's. In this case you can create a new - directory, symlink the ``zope``, ``persistent`` and ``transaction`` - packages in it and use this directory for the ``path`` entry in the - ``etc/zope.conf`` of your Zope 2.7 instance. - -* Next, install the Five product into your Zope 2.7 instance as a - product and restart Zope. Five should now be installed. - -* You can also install various products in the ``doc/products`` - subdirectory of Five by copying them into your ``Products`` - directory. In addition, you can look at ``tests/products/FiveTest``, - which is installed automatically when you run the Five tests. This - may contain examples of more recent features. - -Installing the tests - - For information on how to install the automatic Five tests, please see ``tests/README.txt``. ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/browser.py one more zodb 3.4-style transaction abort
Log message for revision 66279: one more zodb 3.4-style transaction abort Changed: UU Products.Five/branches/1.0/browser.py -=- Modified: Products.Five/branches/1.0/browser.py === --- Products.Five/branches/1.0/browser.py 2006-03-31 16:52:05 UTC (rev 66278) +++ Products.Five/branches/1.0/browser.py 2006-03-31 16:58:39 UTC (rev 66279) @@ -20,6 +20,7 @@ from datetime import datetime # Zope 2 +import transaction import Acquisition from Acquisition import aq_inner, aq_parent, aq_base from AccessControl import ClassSecurityInfo @@ -217,7 +218,7 @@ except WidgetsError, errors: self.errors = errors status = "An error occured." -get_transaction().abort() +transaction.abort() else: setUpEditWidgets(self, self.schema, source=self.adapted, ignoreStickyValues=True, Property changes on: Products.Five/branches/1.0/browser.py ___ Name: svn:eol-style + native ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.0/ svn:eol-style=native (mainly to reduce the diff between what's in Zope 2.8
Log message for revision 66280: svn:eol-style=native (mainly to reduce the diff between what's in Zope 2.8 branch and what's here) Changed: _U Products.Five/branches/1.0/COPYING.txt _U Products.Five/branches/1.0/INSTALL.txt _U Products.Five/branches/1.0/README.txt _U Products.Five/branches/1.0/ReuseUtils.py _U Products.Five/branches/1.0/TODO.txt _U Products.Five/branches/1.0/TrustedExpression.py _U Products.Five/branches/1.0/__init__.py _U Products.Five/branches/1.0/add.pt _U Products.Five/branches/1.0/adding.pt _U Products.Five/branches/1.0/adding.py _U Products.Five/branches/1.0/bridge.py _U Products.Five/branches/1.0/browserconfigure.py _U Products.Five/branches/1.0/configure.zcml _U Products.Five/branches/1.0/eventconfigure.py _U Products.Five/branches/1.0/five_template.pt _U Products.Five/branches/1.0/fiveconfigure.py _U Products.Five/branches/1.0/fivedirectives.py _U Products.Five/branches/1.0/interfaces.zcml _U Products.Five/branches/1.0/meta.zcml _U Products.Five/branches/1.0/metaclass.py _U Products.Five/branches/1.0/metaconfigure.py _U Products.Five/branches/1.0/pagetemplatefile.py _U Products.Five/branches/1.0/permissions.zcml _U Products.Five/branches/1.0/services.zcml _U Products.Five/branches/1.0/tests/README.txt _U Products.Five/branches/1.0/tests/adding.txt _U Products.Five/branches/1.0/tests/framework.py _U Products.Five/branches/1.0/tests/products/FiveTest/__init__.py _U Products.Five/branches/1.0/tests/products/FiveTest/bird.pt _U Products.Five/branches/1.0/tests/products/FiveTest/browser.py _U Products.Five/branches/1.0/tests/products/FiveTest/classes.py _U Products.Five/branches/1.0/tests/products/FiveTest/condor.pt _U Products.Five/branches/1.0/tests/products/FiveTest/configure.zcml _U Products.Five/branches/1.0/tests/products/FiveTest/falcon.pt _U Products.Five/branches/1.0/tests/products/FiveTest/fancycontent.py _U Products.Five/branches/1.0/tests/products/FiveTest/flamingo.pt _U Products.Five/branches/1.0/tests/products/FiveTest/flamingo2.pt _U Products.Five/branches/1.0/tests/products/FiveTest/helpers.py _U Products.Five/branches/1.0/tests/products/FiveTest/interfaces.py _U Products.Five/branches/1.0/tests/products/FiveTest/meta.zcml _U Products.Five/branches/1.0/tests/products/FiveTest/metaconfigure.py _U Products.Five/branches/1.0/tests/products/FiveTest/ostrich.pt _U Products.Five/branches/1.0/tests/products/FiveTest/ostrich2.pt _U Products.Five/branches/1.0/tests/products/FiveTest/overrides.zcml _U Products.Five/branches/1.0/tests/products/FiveTest/owl.pt _U Products.Five/branches/1.0/tests/products/FiveTest/seagull.pt _U Products.Five/branches/1.0/tests/products/FiveTest/simplecontent.py _U Products.Five/branches/1.0/tests/products/FiveTest/subscriber.py _U Products.Five/branches/1.0/tests/products/FiveTest/testing.zcml _U Products.Five/branches/1.0/tests/runalltests.py _U Products.Five/branches/1.0/tests/test_adding.py _U Products.Five/branches/1.0/tests/test_editform.py _U Products.Five/branches/1.0/tests/test_event.py _U Products.Five/branches/1.0/tests/test_five.py _U Products.Five/branches/1.0/tests/test_security2.py _U Products.Five/branches/1.0/tests/zopeconf.py _U Products.Five/branches/1.0/traversable.py _U Products.Five/branches/1.0/version.txt _U Products.Five/branches/1.0/zcml.py -=- Property changes on: Products.Five/branches/1.0/COPYING.txt ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/INSTALL.txt ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/README.txt ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/ReuseUtils.py ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/TODO.txt ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/TrustedExpression.py ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/__init__.py ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/add.pt ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/adding.pt ___ Name: svn:eol-style + native Property changes on: Products.Five/branches/1.0/adding.py __
[Zope-Checkins] SVN: Products.Five/branches/1.3/CHANGES.txt Update with changes from 1.2 branch
Log message for revision 66283: Update with changes from 1.2 branch Changed: U Products.Five/branches/1.3/CHANGES.txt -=- Modified: Products.Five/branches/1.3/CHANGES.txt === --- Products.Five/branches/1.3/CHANGES.txt 2006-03-31 17:17:07 UTC (rev 66282) +++ Products.Five/branches/1.3/CHANGES.txt 2006-03-31 17:54:18 UTC (rev 66283) @@ -134,6 +134,14 @@ components has been removed as that functionality is now in the Zope 2 core as of Zope 2.9. +Five 1.2.3 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + Five 1.2.1 (2006-02-25) === ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.4/ update changes and prepare for beta release
Log message for revision 66284: update changes and prepare for beta release Changed: U Products.Five/branches/1.4/CHANGES.txt U Products.Five/branches/1.4/version.txt -=- Modified: Products.Five/branches/1.4/CHANGES.txt === --- Products.Five/branches/1.4/CHANGES.txt 2006-03-31 17:54:18 UTC (rev 66283) +++ Products.Five/branches/1.4/CHANGES.txt 2006-03-31 17:54:49 UTC (rev 66284) @@ -2,8 +2,8 @@ Five Changes -Five 1.4 (unreleased) -= +Five 1.4b (2006-03-31) +== Features @@ -159,6 +159,14 @@ components has been removed as that functionality is now in the Zope 2 core as of Zope 2.9. +Five 1.2.3 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + Five 1.2.1 (2006-02-25) === Modified: Products.Five/branches/1.4/version.txt === --- Products.Five/branches/1.4/version.txt 2006-03-31 17:54:18 UTC (rev 66283) +++ Products.Five/branches/1.4/version.txt 2006-03-31 17:54:49 UTC (rev 66284) @@ -1 +1 @@ -Five 1.4 unreleased +Five 1.4b ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.3/CHANGES.txt forgot a whole verison there
Log message for revision 66285: forgot a whole verison there Changed: U Products.Five/branches/1.3/CHANGES.txt -=- Modified: Products.Five/branches/1.3/CHANGES.txt === --- Products.Five/branches/1.3/CHANGES.txt 2006-03-31 17:54:49 UTC (rev 66284) +++ Products.Five/branches/1.3/CHANGES.txt 2006-03-31 17:56:47 UTC (rev 66285) @@ -142,6 +142,25 @@ * Added the ``class`` ZCML directive as an alias to ``content``. +Five 1.2.2 (2006-03-26) +=== + +Bugfixes + + +* A local utility registered with an derived interface will now be available + by the inherited interface as well, in the same way as Zope3. + +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + Five 1.2.1 (2006-02-25) === ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/1.4/CHANGES.txt forgot a whole version there
Log message for revision 66286: forgot a whole version there Changed: U Products.Five/branches/1.4/CHANGES.txt -=- Modified: Products.Five/branches/1.4/CHANGES.txt === --- Products.Five/branches/1.4/CHANGES.txt 2006-03-31 17:56:47 UTC (rev 66285) +++ Products.Five/branches/1.4/CHANGES.txt 2006-03-31 17:57:03 UTC (rev 66286) @@ -167,6 +167,25 @@ * Added the ``class`` ZCML directive as an alias to ``content``. +Five 1.2.2 (2006-03-26) +=== + +Bugfixes + + +* A local utility registered with an derived interface will now be available + by the inherited interface as well, in the same way as Zope3. + +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + Five 1.2.1 (2006-02-25) === ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/trunk/CHANGES.txt update changes from previous branches
Log message for revision 66287: update changes from previous branches Changed: U Products.Five/trunk/CHANGES.txt -=- Modified: Products.Five/trunk/CHANGES.txt === --- Products.Five/trunk/CHANGES.txt 2006-03-31 17:57:03 UTC (rev 66286) +++ Products.Five/trunk/CHANGES.txt 2006-03-31 17:58:11 UTC (rev 66287) @@ -2,8 +2,8 @@ Five Changes -Five 1.4 (unreleased) -= +Five 1.4b (2006-03-31) +== Features @@ -159,6 +159,33 @@ components has been removed as that functionality is now in the Zope 2 core as of Zope 2.9. +Five 1.2.3 (2006-03-31) +=== + +Bugfixes + + +* Added the ``class`` ZCML directive as an alias to ``content``. + +Five 1.2.2 (2006-03-26) +=== + +Bugfixes + + +* A local utility registered with an derived interface will now be available + by the inherited interface as well, in the same way as Zope3. + +* Fixed look-up order during Five traversal. It is now as follows: + + 1. If an object has __bobo_traverse__, use it. + + 2. Otherwise do attribute look-up or, if that doesn't work, key item + lookup. + + 3. If neither __bobo_traverse__ nor attribute/key look-up work, it + tries to find a Zope 3-style view. + Five 1.2.1 (2006-02-25) === ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.2.3/ Tag Five 1.2.3
Log message for revision 66288: Tag Five 1.2.3 Changed: A Products.Five/tags/1.2.3/ -=- Copied: Products.Five/tags/1.2.3 (from rev 66287, Products.Five/branches/1.2) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.3.4/ Tag Five 1.3.4
Log message for revision 66289: Tag Five 1.3.4 Changed: A Products.Five/tags/1.3.4/ -=- Copied: Products.Five/tags/1.3.4 (from rev 66288, Products.Five/branches/1.3) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/tags/1.4b/ Tag 1.4b
Log message for revision 66290: Tag 1.4b Changed: A Products.Five/tags/1.4b/ -=- Copied: Products.Five/tags/1.4b (from rev 66289, Products.Five/branches/1.4) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/zope/ Switch a couple more zope.* packages to Jim's adapter branch
Log message for revision 66361: Switch a couple more zope.* packages to Jim's adapter branch Add the ones I factored out of zope.app recently Changed: _U Zope/branches/philikon-local-components/lib/python/zope/ -=- Property changes on: Zope/branches/philikon-local-components/lib/python/zope ___ Name: svn:externals - app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18n i18nmessageid-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/repos/main/zope.testing/trunk/src/zope/testing thread -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/thread deprecation svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/deprecation dottedname -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/dottedname formlib -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/formlib index-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/index testbrowser -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/testbrowser deferredimport svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/deferredimport + app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/i18n i18nmessageid svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/repos/main/zope.testing/trunk/src/zope/testing thread -r 4
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/TAL/TALInterpreter.py Only use immutable i18n messages now.
Log message for revision 66362: Only use immutable i18n messages now. Changed: U Zope/branches/philikon-local-components/lib/python/TAL/TALInterpreter.py -=- Modified: Zope/branches/philikon-local-components/lib/python/TAL/TALInterpreter.py === --- Zope/branches/philikon-local-components/lib/python/TAL/TALInterpreter.py 2006-04-04 06:32:59 UTC (rev 66361) +++ Zope/branches/philikon-local-components/lib/python/TAL/TALInterpreter.py 2006-04-04 06:33:55 UTC (rev 66362) @@ -24,11 +24,7 @@ from DocumentTemplate.DT_Util import ustr from ZODB.POSException import ConflictError -# BBB 2005/10/10 -- MessageIDs are to be removed for Zope 3.3 -import zope.deprecation -zope.deprecation.__show__.off() -from zope.i18nmessageid import Message, MessageID -zope.deprecation.__show__.on() +from zope.i18nmessageid import Message from TALDefs import attrEscape, TAL_VERSION, METALError from TALDefs import isCurrentVersion @@ -36,8 +32,7 @@ from TALGenerator import TALGenerator from TranslationContext import TranslationContext -# This will become (MessageID, Message) when we use Zope 3.1 as a base: -I18nMessageTypes = Message, MessageID +I18nMessageTypes = (Message,) # TODO: In Python 2.4 we can use frozenset() instead of dict.fromkeys() BOOLEAN_HTML_ATTRS = dict.fromkeys([ ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/i18n.py Only use immutable i18n messages now.
Log message for revision 66363: Only use immutable i18n messages now. Changed: U Products.Five/branches/philikon-local-components/i18n.py -=- Modified: Products.Five/branches/philikon-local-components/i18n.py === --- Products.Five/branches/philikon-local-components/i18n.py2006-04-04 06:33:55 UTC (rev 66362) +++ Products.Five/branches/philikon-local-components/i18n.py2006-04-04 06:42:48 UTC (rev 66363) @@ -21,13 +21,8 @@ from zope.i18n.interfaces import ITranslationDomain, IUserPreferredLanguages from zope.component import queryUtility from zope.publisher.browser import BrowserLanguages +from zope.i18nmessageid import Message -# BBB 2005/10/10 -- MessageIDs are to be removed for Zope 3.3 -import zope.deprecation -zope.deprecation.__show__.off() -from zope.i18nmessageid import MessageID, Message -zope.deprecation.__show__.on() - class FiveTranslationService: """Translation service that delegates to ``zope.i18n`` machinery. """ @@ -35,7 +30,7 @@ # regarding fallback and Zope 2 compatability def translate(self, domain, msgid, mapping=None, context=None, target_language=None, default=None): -if isinstance(msgid, (Message, MessageID)): +if isinstance(msgid, Message): domain = msgid.domain default = msgid.default mapping = msgid.mapping ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/ import IPermission from correct place (outside zope.app!)
Log message for revision 66364: import IPermission from correct place (outside zope.app!) Changed: U Products.Five/branches/philikon-local-components/fiveconfigure.py U Products.Five/branches/philikon-local-components/security.py -=- Modified: Products.Five/branches/philikon-local-components/fiveconfigure.py === --- Products.Five/branches/philikon-local-components/fiveconfigure.py 2006-04-04 06:42:48 UTC (rev 66363) +++ Products.Five/branches/philikon-local-components/fiveconfigure.py 2006-04-04 06:43:41 UTC (rev 66364) @@ -32,10 +32,10 @@ from zope.configuration import xmlconfig from zope.configuration.exceptions import ConfigurationError from zope.publisher.interfaces.browser import IDefaultBrowserLayer +from zope.security.interfaces import IPermission from zope.app.component.interface import provideInterface from zope.app.component.metaconfigure import adapter -from zope.app.security.interfaces import IPermission from Products.Five import isFiveMethod from Products.Five.viewable import Viewable Modified: Products.Five/branches/philikon-local-components/security.py === --- Products.Five/branches/philikon-local-components/security.py 2006-04-04 06:42:48 UTC (rev 66363) +++ Products.Five/branches/philikon-local-components/security.py 2006-04-04 06:43:41 UTC (rev 66364) @@ -19,8 +19,8 @@ from zope.component import queryUtility, getUtility from zope.security.management import thread_local from zope.security.interfaces import IInteraction, ISecurityPolicy +from zope.security.interfaces import IPermission from zope.security.simplepolicies import ParanoidSecurityPolicy -from zope.app.security.interfaces import IPermission from AccessControl import ClassSecurityInfo, getSecurityManager from Globals import InitializeClass as initializeClass ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py Security declarations for IPossibleSite API.
Log message for revision 66365: Security declarations for IPossibleSite API. Changed: U Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py -=- Modified: Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py === --- Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py 2006-04-04 06:43:41 UTC (rev 66364) +++ Zope/branches/philikon-local-components/lib/python/OFS/ObjectManager.py 2006-04-04 06:50:10 UTC (rev 66365) @@ -171,11 +171,13 @@ _components = None +security.declarePublic('getSiteManager') def getSiteManager(self): if self._components is None: raise ComponentLookupError('No component registry defined.') return self._components +security.declareProtected('Manage Site', 'setSiteManager') def setSiteManager(self, components): self._components = components ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/zope/ Add new zope.* packages (that were created as a result of MakeZopeAppSmaller)
Log message for revision 67128: Add new zope.* packages (that were created as a result of MakeZopeAppSmaller) Changed: _U Zope/branches/philikon-local-components/lib/python/zope/ -=- Property changes on: Zope/branches/philikon-local-components/lib/python/zope ___ Name: svn:externals - app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/i18n i18nmessageid svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/proxy publisher-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/publisher schema -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/schema security svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structuredtext tal svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/tal tales-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/tales testing -r 40941 svn://svn.zope.org/repos/main/zope.testing/trunk/src/zope/testing thread -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/thread deprecation svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/deprecation dottedname -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/dottedname formlib svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/formlib index-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/index testbrowser -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/testbrowser deferredimport svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/deferredimport decorator svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/decorator datetime svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/datetime size svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/size + app svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/app cachedescriptors -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/cachedescriptors component svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/component configuration-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/configuration documenttemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/documenttemplate event-r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/event exceptions svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/exceptions hookable -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/hookable i18n svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/i18n i18nmessageid svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/i18nmessageid interface svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/interface modulealias -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/modulealias pagetemplate -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/pagetemplate proxy svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/proxy publisher svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/publisher schema svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/schema security svn://svn.zope.org/repos/main/Zope3/branches/jim-adapter/src/zope/security server -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/server structuredtext -r 41215 svn://svn.zope.org/repos/main/Zope3/trunk/src/zope/structured
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/OFS/ New import locations of things due to MakeZopeAppSmaller
Log message for revision 67129: New import locations of things due to MakeZopeAppSmaller Changed: U Zope/branches/philikon-local-components/lib/python/OFS/CopySupport.py U Zope/branches/philikon-local-components/lib/python/OFS/event.py U Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py U Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py -=- Modified: Zope/branches/philikon-local-components/lib/python/OFS/CopySupport.py === --- Zope/branches/philikon-local-components/lib/python/OFS/CopySupport.py 2006-04-19 13:47:40 UTC (rev 67128) +++ Zope/branches/philikon-local-components/lib/python/OFS/CopySupport.py 2006-04-19 13:50:58 UTC (rev 67129) @@ -37,7 +37,7 @@ from ZODB.POSException import ConflictError from zope.interface import implements from zope.event import notify -from zope.app.event.objectevent import ObjectCopiedEvent +from zope.lifecycleevent import ObjectCopiedEvent from zope.app.container.contained import ObjectMovedEvent from zope.app.container.contained import notifyContainerModified from OFS.event import ObjectWillBeMovedEvent Modified: Zope/branches/philikon-local-components/lib/python/OFS/event.py === --- Zope/branches/philikon-local-components/lib/python/OFS/event.py 2006-04-19 13:47:40 UTC (rev 67128) +++ Zope/branches/philikon-local-components/lib/python/OFS/event.py 2006-04-19 13:50:58 UTC (rev 67129) @@ -18,7 +18,7 @@ """ from zope.interface import implements -from zope.app.event.objectevent import ObjectEvent +from zope.component.interfaces import ObjectEvent import OFS.interfaces Modified: Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py === --- Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py 2006-04-19 13:47:40 UTC (rev 67128) +++ Zope/branches/philikon-local-components/lib/python/OFS/interfaces.py 2006-04-19 13:50:58 UTC (rev 67129) @@ -27,7 +27,7 @@ from webdav.interfaces import IDAVCollection from webdav.interfaces import IDAVResource -from zope.app.traversing.interfaces import IContainmentRoot +from zope.traversing.interfaces import IContainmentRoot from zope.app.component.interfaces import IPossibleSite class IOrderedContainer(Interface): @@ -903,7 +903,7 @@ ## # Event interfaces -from zope.app.event.interfaces import IObjectEvent +from zope.component.interfaces import IObjectEvent class IObjectWillBeMovedEvent(IObjectEvent): """An object will be moved.""" Modified: Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py === --- Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py 2006-04-19 13:47:40 UTC (rev 67128) +++ Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py 2006-04-19 13:50:58 UTC (rev 67129) @@ -29,8 +29,8 @@ from zope.interface import implements from zope.component import adapts +from zope.location.interfaces import ISublocations from zope.app.container.contained import dispatchToSublocations -from zope.app.location.interfaces import ISublocations deprecatedManageAddDeleteClasses = [] ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/OFS/content_types.py content_types has move (again) to zope.contenttype
Log message for revision 67130: content_types has move (again) to zope.contenttype Changed: U Zope/branches/philikon-local-components/lib/python/OFS/content_types.py -=- Modified: Zope/branches/philikon-local-components/lib/python/OFS/content_types.py === --- Zope/branches/philikon-local-components/lib/python/OFS/content_types.py 2006-04-19 13:50:58 UTC (rev 67129) +++ Zope/branches/philikon-local-components/lib/python/OFS/content_types.py 2006-04-19 13:52:18 UTC (rev 67130) @@ -14,11 +14,10 @@ $Id$ """ - import warnings warnings.warn('Using OFS.content_types is deprecated (will be removed in Zope ' - '2.11). Instead use zope.app.contenttypes.', + '2.11). Instead use zope.contenttype.', DeprecationWarning, stacklevel=2) -from zope.app.contenttypes import text_type, guess_content_type, add_files +from zope.contenttype import text_type, guess_content_type, add_files ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/browser/__init__.py New import location due to MakeZopeAppSmaller
Log message for revision 67131: New import location due to MakeZopeAppSmaller Changed: U Products.Five/branches/philikon-local-components/browser/__init__.py -=- Modified: Products.Five/branches/philikon-local-components/browser/__init__.py === --- Products.Five/branches/philikon-local-components/browser/__init__.py 2006-04-19 13:52:18 UTC (rev 67130) +++ Products.Five/branches/philikon-local-components/browser/__init__.py 2006-04-19 13:53:43 UTC (rev 67131) @@ -16,9 +16,9 @@ $Id$ """ import Acquisition -import zope.app.publisher.browser +import zope.publisher.browser -class BrowserView(Acquisition.Explicit, zope.app.publisher.browser.BrowserView): +class BrowserView(Acquisition.Explicit, zope.publisher.browser.BrowserView): """Five browser view Mixes in explicit acquisition so that security can be acquired for ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/App/ImageFile.py New import location of zope.app.contenttypes/zope.app.content_types.
Log message for revision 67132: New import location of zope.app.contenttypes/zope.app.content_types. Changed: U Zope/branches/philikon-local-components/lib/python/App/ImageFile.py -=- Modified: Zope/branches/philikon-local-components/lib/python/App/ImageFile.py === --- Zope/branches/philikon-local-components/lib/python/App/ImageFile.py 2006-04-19 13:53:43 UTC (rev 67131) +++ Zope/branches/philikon-local-components/lib/python/App/ImageFile.py 2006-04-19 13:57:45 UTC (rev 67132) @@ -26,7 +26,7 @@ from Common import rfc1123_date from DateTime import DateTime -from zope.app.contenttypes import guess_content_type +from zope.contenttype import guess_content_type class ImageFile(Acquisition.Explicit): """Image objects stored in external files.""" ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/ New import location of zope.app.contenttypes/zope.app.content_types.
Log message for revision 67133: New import location of zope.app.contenttypes/zope.app.content_types. Changed: U Zope/branches/philikon-local-components/lib/python/OFS/DTMLDocument.py U Zope/branches/philikon-local-components/lib/python/OFS/DTMLMethod.py U Zope/branches/philikon-local-components/lib/python/OFS/Image.py U Zope/branches/philikon-local-components/lib/python/Products/PageTemplates/ZopePageTemplate.py U Zope/branches/philikon-local-components/lib/python/ZClasses/Method.py U Zope/branches/philikon-local-components/lib/python/Zope2/Startup/handlers.py U Zope/branches/philikon-local-components/lib/python/webdav/NullResource.py -=- Modified: Zope/branches/philikon-local-components/lib/python/OFS/DTMLDocument.py === --- Zope/branches/philikon-local-components/lib/python/OFS/DTMLDocument.py 2006-04-19 13:57:45 UTC (rev 67132) +++ Zope/branches/philikon-local-components/lib/python/OFS/DTMLDocument.py 2006-04-19 14:01:59 UTC (rev 67133) @@ -17,7 +17,7 @@ from Globals import InitializeClass from ZPublisher.Converters import type_converters from Globals import HTML, DTMLFile, MessageDialog -from zope.app.contenttypes import guess_content_type +from zope.contenttype import guess_content_type from DTMLMethod import DTMLMethod, decapitate from PropertyManager import PropertyManager from webdav.common import rfc1123_date Modified: Zope/branches/philikon-local-components/lib/python/OFS/DTMLMethod.py === --- Zope/branches/philikon-local-components/lib/python/OFS/DTMLMethod.py 2006-04-19 13:57:45 UTC (rev 67132) +++ Zope/branches/philikon-local-components/lib/python/OFS/DTMLMethod.py 2006-04-19 14:01:59 UTC (rev 67133) @@ -18,7 +18,7 @@ from Globals import HTML, DTMLFile, MessageDialog from Globals import InitializeClass from SimpleItem import Item_w__name__, pretty_tb -from zope.app.contenttypes import guess_content_type +from zope.contenttype import guess_content_type from PropertyManager import PropertyManager from AccessControl import ClassSecurityInfo from AccessControl.Role import RoleManager Modified: Zope/branches/philikon-local-components/lib/python/OFS/Image.py === --- Zope/branches/philikon-local-components/lib/python/OFS/Image.py 2006-04-19 13:57:45 UTC (rev 67132) +++ Zope/branches/philikon-local-components/lib/python/OFS/Image.py 2006-04-19 14:01:59 UTC (rev 67133) @@ -15,7 +15,7 @@ $Id$ """ import struct -from zope.app.contenttypes import guess_content_type +from zope.contenttype import guess_content_type from Globals import DTMLFile from Globals import InitializeClass from PropertyManager import PropertyManager Modified: Zope/branches/philikon-local-components/lib/python/Products/PageTemplates/ZopePageTemplate.py === --- Zope/branches/philikon-local-components/lib/python/Products/PageTemplates/ZopePageTemplate.py 2006-04-19 13:57:45 UTC (rev 67132) +++ Zope/branches/philikon-local-components/lib/python/Products/PageTemplates/ZopePageTemplate.py 2006-04-19 14:01:59 UTC (rev 67133) @@ -20,7 +20,7 @@ import Acquisition from Globals import ImageFile, package_home, InitializeClass from OFS.SimpleItem import SimpleItem -from zope.app.contenttypes import guess_content_type +from zope.contenttype import guess_content_type from DateTime.DateTime import DateTime from Shared.DC.Scripts.Script import Script from Shared.DC.Scripts.Signature import FuncCode Modified: Zope/branches/philikon-local-components/lib/python/ZClasses/Method.py === --- Zope/branches/philikon-local-components/lib/python/ZClasses/Method.py 2006-04-19 13:57:45 UTC (rev 67132) +++ Zope/branches/philikon-local-components/lib/python/ZClasses/Method.py 2006-04-19 14:01:59 UTC (rev 67133) @@ -25,7 +25,7 @@ import marshal from cgi import escape -from zope.app.contenttypes import guess_content_type +from zope.contenttype import guess_content_type _marker=[] class ZClassMethodsSheet( Modified: Zope/branches/philikon-local-components/lib/python/Zope2/Startup/handlers.py === --- Zope/branches/philikon-local-components/lib/python/Zope2/Startup/handlers.py 2006-04-19 13:57:45 UTC (rev 67132) +++ Zope/branches/philikon-local-components/lib/python/Zope2/Startup/handlers.py 2006-04-19 14:01:59 UTC (rev 67133) @@ -175,7 +175,7 @@ # Augment the set of MIME types: if config.mime_types: -from zope.app.contenttypes import add_files +from zope.contenttype import add_files add_files(config.mime_types) # if no servers are defined, create default http server and ftp server Modifie
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/meta Add missing directive and deprecate
Log message for revision 67149: Add missing directive and deprecate Changed: U Products.Five/branches/philikon-local-components/meta.zcml U Products.Five/branches/philikon-local-components/metaconfigure.py -=- Modified: Products.Five/branches/philikon-local-components/meta.zcml === --- Products.Five/branches/philikon-local-components/meta.zcml 2006-04-19 16:55:18 UTC (rev 67148) +++ Products.Five/branches/philikon-local-components/meta.zcml 2006-04-19 17:13:06 UTC (rev 67149) @@ -51,6 +51,30 @@ /> + + + + + + + + + + +http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/ lots and lots of new import paths
Log message for revision 67150: lots and lots of new import paths Changed: U Products.Five/branches/philikon-local-components/browser/absoluteurl.py U Products.Five/branches/philikon-local-components/browser/adding.py U Products.Five/branches/philikon-local-components/browser/configure.zcml U Products.Five/branches/philikon-local-components/browser/metaconfigure.py U Products.Five/branches/philikon-local-components/browser/resource.py U Products.Five/branches/philikon-local-components/browser/tests/test_absoluteurl.py U Products.Five/branches/philikon-local-components/component/browser.py U Products.Five/branches/philikon-local-components/fiveconfigure.py U Products.Five/branches/philikon-local-components/fivedirectives.py U Products.Five/branches/philikon-local-components/site/tests/test_localsite.py U Products.Five/branches/philikon-local-components/sizeconfigure.py U Products.Five/branches/philikon-local-components/tests/test_size.py U Products.Five/branches/philikon-local-components/traversable.py U Products.Five/branches/philikon-local-components/traversing.zcml -=- Modified: Products.Five/branches/philikon-local-components/browser/absoluteurl.py === --- Products.Five/branches/philikon-local-components/browser/absoluteurl.py 2006-04-19 17:13:06 UTC (rev 67149) +++ Products.Five/branches/philikon-local-components/browser/absoluteurl.py 2006-04-19 17:23:29 UTC (rev 67150) @@ -20,14 +20,14 @@ from zope.interface import implements from zope.component import getMultiAdapter -from zope.app.traversing.browser.interfaces import IAbsoluteURL +from zope.traversing.browser.interfaces import IAbsoluteURL from Products.Five.browser import BrowserView class AbsoluteURL(BrowserView): """An adapter for Zope3-style absolute_url using Zope2 methods -(original: zope.app.traversing.browser.absoluteurl) +(original: zope.traversing.browser.absoluteurl) """ implements(IAbsoluteURL) @@ -72,7 +72,7 @@ This one is just used to stop breadcrumbs from crumbing up to the Zope root. -(original: zope.app.traversing.browser.absoluteurl) +(original: zope.traversing.browser.absoluteurl) """ def breadcrumbs(self): Modified: Products.Five/branches/philikon-local-components/browser/adding.py === --- Products.Five/branches/philikon-local-components/browser/adding.py 2006-04-19 17:13:06 UTC (rev 67149) +++ Products.Five/branches/philikon-local-components/browser/adding.py 2006-04-19 17:23:29 UTC (rev 67150) @@ -25,13 +25,13 @@ from zope.publisher.interfaces import IPublishTraverse from zope.component.interfaces import IFactory from zope.event import notify +from zope.exceptions import UserError +from zope.lifecycleevent import ObjectCreatedEvent -from zope.app.exception.interfaces import UserError from zope.app.container.interfaces import IAdding, INameChooser from zope.app.container.interfaces import IContainerNamesContainer from zope.app.container.constraints import checkFactory, checkObject from zope.app.publisher.browser.menu import getMenu -from zope.app.event.objectevent import ObjectCreatedEvent from Acquisition import Implicit from zExceptions import BadRequest Modified: Products.Five/branches/philikon-local-components/browser/configure.zcml === --- Products.Five/branches/philikon-local-components/browser/configure.zcml 2006-04-19 17:13:06 UTC (rev 67149) +++ Products.Five/branches/philikon-local-components/browser/configure.zcml 2006-04-19 17:23:29 UTC (rev 67150) @@ -25,7 +25,7 @@ name="absolute_url" class=".absoluteurl.AbsoluteURL" permission="zope.Public" - allowed_interface="zope.app.traversing.browser.interfaces.IAbsoluteURL" + allowed_interface="zope.traversing.browser.interfaces.IAbsoluteURL" /> >> from zope.interface import directlyProvides, providedBy - >>> from zope.app.traversing.interfaces import IContainmentRoot + >>> from zope.traversing.interfaces import IContainmentRoot >>> directlyProvides(self.folder, IContainmentRoot) >>> for crumb in view.breadcrumbs(): Modified: Products.Five/branches/philikon-local-components/component/browser.py === --- Products.Five/branches/philikon-local-components/component/browser.py 2006-04-19 17:13:06 UTC (rev 67149) +++ Products.Five/branches/philikon-local-components/component/browser.py 2006-04-19 17:23:29 UTC (rev 67150) @@ -30,9 +30,9 @@ from zope.component.globalregistry import base from zope.component.persistentregistry import PersistentComponents from zope.publisher.interfaces.browser import IBrowserRequest +from zope.traversing.browser import absolute
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/ Some more new import paths
Log message for revision 67151: Some more new import paths Changed: U Products.Five/branches/philikon-local-components/component/component.txt U Products.Five/branches/philikon-local-components/event.zcml U Products.Five/branches/philikon-local-components/form/__init__.py U Products.Five/branches/philikon-local-components/formlib/formbase.py U Products.Five/branches/philikon-local-components/tests/event.txt -=- Modified: Products.Five/branches/philikon-local-components/component/component.txt === --- Products.Five/branches/philikon-local-components/component/component.txt 2006-04-19 17:23:29 UTC (rev 67150) +++ Products.Five/branches/philikon-local-components/component/component.txt 2006-04-19 17:27:04 UTC (rev 67151) @@ -47,7 +47,7 @@ The adapter also works using the ``ILocation`` API by inspecting the ``__parent__`` object instead of using the acquisition parent: - >>> from zope.app.location import Location + >>> from zope.location import Location >>> ob = Location() >>> ob2 = Location() >>> ob.__parent__ = site Modified: Products.Five/branches/philikon-local-components/event.zcml === --- Products.Five/branches/philikon-local-components/event.zcml 2006-04-19 17:23:29 UTC (rev 67150) +++ Products.Five/branches/philikon-local-components/event.zcml 2006-04-19 17:27:04 UTC (rev 67151) @@ -8,7 +8,7 @@ Modified: Products.Five/branches/philikon-local-components/form/__init__.py === --- Products.Five/branches/philikon-local-components/form/__init__.py 2006-04-19 17:23:29 UTC (rev 67150) +++ Products.Five/branches/philikon-local-components/form/__init__.py 2006-04-19 17:27:04 UTC (rev 67151) @@ -21,18 +21,18 @@ import Acquisition import transaction from zope.event import notify +from zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent +from zope.location.interfaces import ILocation +from zope.location import LocationProxy from zope.schema.interfaces import ValidationError from zope.i18nmessageid import MessageFactory _ = MessageFactory('zope') -from zope.app.location.interfaces import ILocation -from zope.app.location import LocationProxy from zope.app.form.utility import setUpEditWidgets, applyWidgetsChanges from zope.app.form.browser.submit import Update from zope.app.form.interfaces import WidgetsError, MissingInputError from zope.app.form.utility import setUpWidgets, getWidgetsData from zope.app.form.interfaces import IInputWidget, WidgetsError -from zope.app.event.objectevent import ObjectCreatedEvent, ObjectModifiedEvent from Products.Five.browser import BrowserView from Products.Five.browser.decode import processInputs, setPageEncoding Modified: Products.Five/branches/philikon-local-components/formlib/formbase.py === --- Products.Five/branches/philikon-local-components/formlib/formbase.py 2006-04-19 17:23:29 UTC (rev 67150) +++ Products.Five/branches/philikon-local-components/formlib/formbase.py 2006-04-19 17:27:04 UTC (rev 67151) @@ -19,7 +19,7 @@ import Acquisition import zope.event -import zope.app.event.objectevent +import zope.lifecycleevent from zope import interface from zope.formlib import interfaces, form, namedtemplate from zope.formlib.i18n import _ @@ -59,7 +59,7 @@ self.context, self.form_fields, data, self.adapters): zope.event.notify( -zope.app.event.objectevent.ObjectModifiedEvent(self.context) +zope.lifecycleevent.ObjectModifiedEvent(self.context) ) # TODO: Needs locale support. See also Five.form.EditView. self.status = _( Modified: Products.Five/branches/philikon-local-components/tests/event.txt === --- Products.Five/branches/philikon-local-components/tests/event.txt 2006-04-19 17:23:29 UTC (rev 67150) +++ Products.Five/branches/philikon-local-components/tests/event.txt 2006-04-19 17:27:04 UTC (rev 67151) @@ -58,7 +58,7 @@ framework's ones, so ours will be called first. This has the effect that printed events will be in their "natural" order:: - >>> from zope.app.event.interfaces import IObjectEvent + >>> from zope.component.interfaces import IObjectEvent >>> from zope.app.container.interfaces import IObjectMovedEvent >>> from OFS.interfaces import IObjectWillBeMovedEvent >>> from OFS.interfaces import IObjectClonedEvent ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/component/zpt.txt put this back
Log message for revision 67153: put this back Changed: U Products.Five/branches/philikon-local-components/component/zpt.txt -=- Modified: Products.Five/branches/philikon-local-components/component/zpt.txt === --- Products.Five/branches/philikon-local-components/component/zpt.txt 2006-04-19 17:28:54 UTC (rev 67152) +++ Products.Five/branches/philikon-local-components/component/zpt.txt 2006-04-19 17:32:56 UTC (rev 67153) @@ -28,7 +28,7 @@ >>> import zope.app.event >>> zcml.load_config('meta.zcml', Products.Five) >>> zcml.load_config('permissions.zcml', Products.Five) - #>>> zcml.load_config('traversing.zcml', Products.Five) + >>> zcml.load_config('traversing.zcml', Products.Five) >>> zcml.load_config('configure.zcml', Products.Five.component) >>> zcml.load_config('configure.zcml', zope.app.event) ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/utilities/ new import paths
Log message for revision 67154: new import paths Changed: U Products.Five/branches/philikon-local-components/utilities/browser/tests/test_marker.py U Products.Five/branches/philikon-local-components/utilities/marker.py -=- Modified: Products.Five/branches/philikon-local-components/utilities/browser/tests/test_marker.py === --- Products.Five/branches/philikon-local-components/utilities/browser/tests/test_marker.py 2006-04-19 17:32:56 UTC (rev 67153) +++ Products.Five/branches/philikon-local-components/utilities/browser/tests/test_marker.py 2006-04-19 17:33:15 UTC (rev 67154) @@ -60,7 +60,7 @@ >>> from Products.Five.tests.testing.simplecontent import ISimpleContent >>> class IFooMarker(ISimpleContent): pass - >>> from zope.app.component.interface import provideInterface + >>> from zope.component.interface import provideInterface >>> provideInterface('', IFooMarker) >>> view.getAvailableInterfaceNames() [...IFooMarker...] Modified: Products.Five/branches/philikon-local-components/utilities/marker.py === --- Products.Five/branches/philikon-local-components/utilities/marker.py 2006-04-19 17:32:56 UTC (rev 67153) +++ Products.Five/branches/philikon-local-components/utilities/marker.py 2006-04-19 17:33:15 UTC (rev 67154) @@ -19,14 +19,11 @@ """ from sets import Set -from zope.interface import implements -from zope.interface import implementedBy -from zope.interface import directlyProvidedBy -from zope.interface import directlyProvides -from zope.interface import providedBy +from zope.interface import implements, implementedBy, providedBy +from zope.interface import directlyProvides, directlyProvidedBy from zope.interface.interfaces import IInterface -from zope.app.component.interface import getInterface, interfaceToName -from zope.app.component.interface import searchInterface +from zope.component.interface import getInterface, interfaceToName +from zope.component.interface import searchInterface from interfaces import IMarkerInterfaces ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/metaconfigure.py added missing import
Log message for revision 67156: added missing import Changed: U Products.Five/branches/philikon-local-components/metaconfigure.py -=- Modified: Products.Five/branches/philikon-local-components/metaconfigure.py === --- Products.Five/branches/philikon-local-components/metaconfigure.py 2006-04-19 17:34:11 UTC (rev 67155) +++ Products.Five/branches/philikon-local-components/metaconfigure.py 2006-04-19 17:34:21 UTC (rev 67156) @@ -15,6 +15,7 @@ $Id$ """ +import warnings from Products.Five.security import CheckerPublic, protectName from Globals import InitializeClass as initializeClass import zope.app.component.contentdirective ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/tests/test_i18n.py fix a test and reduce testing dependencies
Log message for revision 67157: fix a test and reduce testing dependencies Changed: U Products.Five/branches/philikon-local-components/tests/test_i18n.py -=- Modified: Products.Five/branches/philikon-local-components/tests/test_i18n.py === --- Products.Five/branches/philikon-local-components/tests/test_i18n.py 2006-04-19 17:34:21 UTC (rev 67156) +++ Products.Five/branches/philikon-local-components/tests/test_i18n.py 2006-04-19 17:42:50 UTC (rev 67157) @@ -23,14 +23,14 @@ """ Test the i18n directive - >>> from zope.app.testing.placelesssetup import setUp, tearDown + >>> from zope.component.testing import setUp, tearDown >>> setUp() First, we need to register the ZCML directive: - >>> import zope.app.i18n + >>> import zope.i18n >>> from Products.Five import zcml - >>> zcml.load_config('meta.zcml', zope.app.i18n) + >>> zcml.load_config('meta.zcml', zope.i18n) Let's register the gettext locales using the ZCML directive: ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/traversable.py new improt paths
Log message for revision 67158: new improt paths Changed: U Products.Five/branches/philikon-local-components/traversable.py -=- Modified: Products.Five/branches/philikon-local-components/traversable.py === --- Products.Five/branches/philikon-local-components/traversable.py 2006-04-19 17:42:50 UTC (rev 67157) +++ Products.Five/branches/philikon-local-components/traversable.py 2006-04-19 17:43:42 UTC (rev 67158) @@ -21,11 +21,10 @@ from zope.interface import implements, Interface from zope.publisher.interfaces import ILayer from zope.publisher.interfaces.browser import IBrowserRequest +from zope.publisher.browser import setDefaultSkin from zope.traversing.interfaces import ITraverser, ITraversable from zope.traversing.adapters import DefaultTraversable from zope.traversing.adapters import traversePathElement - -from zope.app.publication.browser import setDefaultSkin from zope.app.interface import queryType from AccessControl import getSecurityManager ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/meta.zcml Get rid of a lot of custom registration code; we can now reuse the
Log message for revision 67159: Get rid of a lot of custom registration code; we can now reuse the very modular meta.zcml files from the various zope.* packages. Changed: U Products.Five/branches/philikon-local-components/meta.zcml -=- Modified: Products.Five/branches/philikon-local-components/meta.zcml === --- Products.Five/branches/philikon-local-components/meta.zcml 2006-04-19 17:43:42 UTC (rev 67158) +++ Products.Five/branches/philikon-local-components/meta.zcml 2006-04-19 17:44:19 UTC (rev 67159) @@ -2,6 +2,13 @@ xmlns="http://namespaces.zope.org/zope"; xmlns:meta="http://namespaces.zope.org/meta";> + + + + + + + @@ -9,42 +16,13 @@ http://namespaces.zope.org/zope";> - - - - + - - - - - - + - http://namespaces.zope.org/meta"; - schema="zope.security.zcml.IRedefinePermission" - handler="zope.security.zcml.redefinePermission" - /> - - - - - - - ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/tests/test_i18n.py don't even use zopetestcase (die, bitch, die)
Log message for revision 67160: don't even use zopetestcase (die, bitch, die) cosmetics on test setup Changed: U Products.Five/branches/philikon-local-components/tests/test_i18n.py -=- Modified: Products.Five/branches/philikon-local-components/tests/test_i18n.py === --- Products.Five/branches/philikon-local-components/tests/test_i18n.py 2006-04-19 17:44:19 UTC (rev 67159) +++ Products.Five/branches/philikon-local-components/tests/test_i18n.py 2006-04-19 17:48:42 UTC (rev 67160) @@ -19,15 +19,13 @@ if __name__ == '__main__': execfile(os.path.join(sys.path[0], 'framework.py')) +from zope.component.testing import setUp, tearDown + def test_directive(): """ -Test the i18n directive +Test the i18n directive. First, we need to register the ZCML +directive: - >>> from zope.component.testing import setUp, tearDown - >>> setUp() - -First, we need to register the ZCML directive: - >>> import zope.i18n >>> from Products.Five import zcml >>> zcml.load_config('meta.zcml', zope.i18n) @@ -56,16 +54,11 @@ u'This is an explicit message' >>> translate(msg, target_language='de') u'Dies ist eine explizite Nachricht' - - -Clean up: - - >>> tearDown() """ def test_suite(): -from Testing.ZopeTestCase import ZopeDocTestSuite -return ZopeDocTestSuite() +from zope.testing.doctest import DocTestSuite +return DocTestSuite(setUp=setUp, tearDown=tearDown) if __name__ == '__main__': framework() ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/tests/event.txt zope.component/meta.zcml is enough these days
Log message for revision 67161: zope.component/meta.zcml is enough these days Changed: U Products.Five/branches/philikon-local-components/tests/event.txt -=- Modified: Products.Five/branches/philikon-local-components/tests/event.txt === --- Products.Five/branches/philikon-local-components/tests/event.txt 2006-04-19 17:48:42 UTC (rev 67160) +++ Products.Five/branches/philikon-local-components/tests/event.txt 2006-04-19 17:51:30 UTC (rev 67161) @@ -82,8 +82,8 @@ >>> from Products.Five import zcml >>> import Products.Five - >>> import zope.app.component - >>> zcml.load_config('meta.zcml', zope.app.component) + >>> import zope.component + >>> zcml.load_config('meta.zcml', zope.component) >>> zcml.load_config('event.zcml', Products.Five) We need at least one fake deprecated method to tell the compatibility ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py add adapter() declarations so that these are easier to register
Log message for revision 67162: add adapter() declarations so that these are easier to register Changed: U Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py -=- Modified: Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py === --- Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py 2006-04-19 17:51:30 UTC (rev 67161) +++ Zope/branches/philikon-local-components/lib/python/OFS/subscribers.py 2006-04-19 18:04:21 UTC (rev 67162) @@ -21,18 +21,18 @@ import sys from logging import getLogger +import OFS.interfaces from Acquisition import aq_base from App.config import getConfiguration from AccessControl import getSecurityManager from ZODB.POSException import ConflictError -import OFS.interfaces -from zope.interface import implements -from zope.component import adapts -from zope.location.interfaces import ISublocations +import zope.component +import zope.interface +import zope.location.interfaces from zope.app.container.contained import dispatchToSublocations +from zope.app.container.interfaces import IObjectMovedEvent - deprecatedManageAddDeleteClasses = [] LOG = getLogger('OFS.subscribers') @@ -79,8 +79,8 @@ class ObjectManagerSublocations(object): """Get the sublocations for an ObjectManager. """ -adapts(OFS.interfaces.IObjectManager) -implements(ISublocations) +zope.component.adapts(OFS.interfaces.IObjectManager) +zope.interface.implements(zope.location.interfaces.ISublocations) def __init__(self, container): self.container = container @@ -99,6 +99,8 @@ # could have a simple subscriber for IObjectManager that directly calls # dispatchToSublocations. [EMAIL PROTECTED](OFS.interfaces.IItem, +OFS.interfaces.IObjectWillBeMovedEvent) def dispatchObjectWillBeMovedEvent(ob, event): """Multi-subscriber for IItem + IObjectWillBeMovedEvent. """ @@ -108,6 +110,7 @@ # Next, do the manage_beforeDelete dance callManageBeforeDelete(ob, event.object, event.oldParent) [EMAIL PROTECTED](OFS.interfaces.IItem, IObjectMovedEvent) def dispatchObjectMovedEvent(ob, event): """Multi-subscriber for IItem + IObjectMovedEvent. """ @@ -117,6 +120,8 @@ if OFS.interfaces.IObjectManager.providedBy(ob): dispatchToSublocations(ob, event) [EMAIL PROTECTED](OFS.interfaces.IItem, +OFS.interfaces.IObjectClonedEvent) def dispatchObjectClonedEvent(ob, event): """Multi-subscriber for IItem + IObjectClonedEvent. """ ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins
[Zope-Checkins] SVN: Products.Five/branches/philikon-local-components/event.zcml make use of in-python adapter() declaration
Log message for revision 67163: make use of in-python adapter() declaration Changed: U Products.Five/branches/philikon-local-components/event.zcml -=- Modified: Products.Five/branches/philikon-local-components/event.zcml === --- Products.Five/branches/philikon-local-components/event.zcml 2006-04-19 18:04:21 UTC (rev 67162) +++ Products.Five/branches/philikon-local-components/event.zcml 2006-04-19 18:05:47 UTC (rev 67163) @@ -5,35 +5,15 @@ + - - + - - + - - + - - ___ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins