Log message for revision 39762: - marked old-style product metadata support as deprecated - removed all dependencies on that support
Changed: U Zope/branches/Zope-2_8-branch/doc/CHANGES.txt U Zope/branches/Zope-2_8-branch/lib/python/OFS/Application.py UU Zope/branches/Zope-2_8-branch/lib/python/OFS/tests/testProductInit.py UU Zope/branches/Zope-2_8-branch/lib/python/Products/ZGadflyDA/__init__.py UU Zope/branches/Zope-2_8-branch/lib/python/Products/ZSQLMethods/__init__.py -=- Modified: Zope/branches/Zope-2_8-branch/doc/CHANGES.txt =================================================================== --- Zope/branches/Zope-2_8-branch/doc/CHANGES.txt 2005-10-31 08:30:03 UTC (rev 39761) +++ Zope/branches/Zope-2_8-branch/doc/CHANGES.txt 2005-10-31 10:35:06 UTC (rev 39762) @@ -22,8 +22,15 @@ - Collector #1233: port ZOPE_CONFIG patch from Zope 2.7 to Zope 2.8 - + Zope 2.8.5 (unreleased) + Bugs Fixed + + - OFS Application: While deprecated since years, old-style product + metadata in the __init__.py did not show deprecation warnings. Added + warnings and converted ZGadflyDA/__init__.py and + ZSQLMethods/__init__.py to use registerClass instead. + Zope 2.8.4 (2005/10/26) Bugs Fixed Modified: Zope/branches/Zope-2_8-branch/lib/python/OFS/Application.py =================================================================== --- Zope/branches/Zope-2_8-branch/lib/python/OFS/Application.py 2005-10-31 08:30:03 UTC (rev 39761) +++ Zope/branches/Zope-2_8-branch/lib/python/OFS/Application.py 2005-10-31 10:35:06 UTC (rev 39762) @@ -7,7 +7,7 @@ # 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 +# FOR A PARTICULAR PURPOSE. # ############################################################################## """Application support @@ -18,6 +18,7 @@ import os, sys, traceback from cgi import escape from StringIO import StringIO +from warnings import warn import Globals, Products, App.Product, App.ProductRegistry, misc_ import transaction @@ -401,7 +402,7 @@ default_period_secs = 20 default_timeout_mins = 20 - limit = getattr(config, 'maximum_number_of_session_objects', + limit = getattr(config, 'maximum_number_of_session_objects', default_limit) timeout_spec = getattr(config, 'session_timeout_minutes', default_timeout_mins) @@ -777,6 +778,13 @@ # constructors, etc. permissions={} new_permissions={} + if pgetattr(product, '__ac_permissions__', None) is not None: + warn('__init__.py of %s has a long deprecated ' + '\'__ac_permissions__\' attribute. ' + '\'__ac_permissions__\' will be ignored by ' + 'install_product in Zope 2.9. Please use registerClass ' + 'instead.' % product.__name__, + DeprecationWarning) for p in pgetattr(product, '__ac_permissions__', ()): permission, names, default = ( tuple(p)+('Manager',))[:3] @@ -786,6 +794,12 @@ elif not folder_permissions.has_key(permission): new_permissions[permission]=() + if pgetattr(product, 'meta_types', None) is not None: + warn('__init__.py of %s has a long deprecated \'meta_types\' ' + 'attribute. \'meta_types\' will be ignored by ' + 'install_product in Zope 2.9. Please use registerClass ' + 'instead.' % product.__name__, + DeprecationWarning) for meta_type in pgetattr(product, 'meta_types', ()): # Modern product initialization via a ProductContext # adds 'product' and 'permission' keys to the meta_type @@ -797,6 +811,12 @@ meta_type['visibility'] = 'Global' meta_types.append(meta_type) + if pgetattr(product, 'methods', None) is not None: + warn('__init__.py of %s has a long deprecated \'methods\' ' + 'attribute. \'methods\' will be ignored by ' + 'install_product in Zope 2.9. Please use registerClass ' + 'instead.' % product.__name__, + DeprecationWarning) for name,method in pgetattr( product, 'methods', {}).items(): if not hasattr(Folder.Folder, name): Modified: Zope/branches/Zope-2_8-branch/lib/python/OFS/tests/testProductInit.py =================================================================== --- Zope/branches/Zope-2_8-branch/lib/python/OFS/tests/testProductInit.py 2005-10-31 08:30:03 UTC (rev 39761) +++ Zope/branches/Zope-2_8-branch/lib/python/OFS/tests/testProductInit.py 2005-10-31 10:35:06 UTC (rev 39762) @@ -44,16 +44,18 @@ # backslashes, the backslashes get treated *as* backslashes instead of as # string escape codes. dummy_product_init = """ +misc_ = {'a':1} +def amethod(self): + pass def initialize(context): f=open(r'%s', 'w') f.write('didit') f.close() -misc_ = {'a':1} -def amethod(self): - pass -methods = {'amethod':amethod} -__ac_permissions__ = ( ('aPermission', (), () ), ) -meta_types = ( {'name':'grabass', 'action':'amethod'}, ) + context.registerClass( + meta_type='grabass', + permission='aPermission', + constructors=(amethod,), + legacy=(amethod,)) """ def getSchema(): @@ -195,13 +197,18 @@ self.assert_(os.path.exists(doneflag)) # Methods installed into folder self.assert_(hasattr(Folder, 'amethod')) - # __ac_permissions__ put into folder - self.assert_( ('aPermission', (),) in - Folder.__ac_permissions__) + # permission roles put into folder + self.assert_(hasattr(Folder, 'amethod__roles__')) # Products.meta_types updated - self.assert_( {'action': 'amethod', 'product': 'abaz', - 'name': 'grabass', 'visibility': 'Global'} - in meta_types) + self.assert_( {'name': 'grabass', + 'action': 'manage_addProduct/abaz/amethod', + 'product': 'abaz', + 'permission': 'aPermission', + 'visibility': 'Global', + 'interfaces': (), + 'instance': None, + 'container_filter': None} + in Products.meta_types) def test_install_products(self): self.makeFakeProducts() Property changes on: Zope/branches/Zope-2_8-branch/lib/python/OFS/tests/testProductInit.py ___________________________________________________________________ Name: cvs2svn:cvs-rev - 1.3 Name: svn:keywords + Id Modified: Zope/branches/Zope-2_8-branch/lib/python/Products/ZGadflyDA/__init__.py =================================================================== --- Zope/branches/Zope-2_8-branch/lib/python/Products/ZGadflyDA/__init__.py 2005-10-31 08:30:03 UTC (rev 39761) +++ Zope/branches/Zope-2_8-branch/lib/python/Products/ZGadflyDA/__init__.py 2005-10-31 10:35:06 UTC (rev 39762) @@ -7,13 +7,13 @@ # 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 +# FOR A PARTICULAR PURPOSE. # ############################################################################## -__doc__='''Generic Database Adapter Package Registration +"""Generic Database Adapter Package Registration. -$Id$''' -__version__='$Revision: 1.16 $'[11:-2] +$Id$ +""" import Globals, os @@ -34,12 +34,6 @@ 'date','time','datetime'): misc_[icon]=Globals.ImageFile('icons/%s.gif' % icon, globals()) -meta_types=( - {'name':'Z %s Database Connection' % database_type, - 'action':'manage_addZ%sConnectionForm' % database_type, - }, - ) - DA=None def getDA(): global DA @@ -70,20 +64,17 @@ return getDA().manage_addZGadflyConnection( self, id, title, connection, check, REQUEST) -methods={ - 'manage_addZGadflyConnection': - manage_addZGadflyConnection, - 'manage_addZGadflyConnectionForm': - manage_addZGadflyConnectionForm, - } +def initialize(context): -__ac_permissions__=( - ('Add Z Gadfly Database Connections', - ('manage_addZGadflyConnectionForm', - 'manage_addZGadflyConnection')), + context.registerClass( + DA.Connection, + permission='Add Z Gadfly Database Connections', + constructors=(manage_addZGadflyConnectionForm, + manage_addZGadflyConnection), + legacy=(manage_addZGadflyConnectionForm, + manage_addZGadflyConnection), ) - # from App.config import getConfiguration # j=os.path.join # d=j(getConfiguration().clienthome,'gadfly') Property changes on: Zope/branches/Zope-2_8-branch/lib/python/Products/ZGadflyDA/__init__.py ___________________________________________________________________ Name: cvs2svn:cvs-rev - 1.16 Modified: Zope/branches/Zope-2_8-branch/lib/python/Products/ZSQLMethods/__init__.py =================================================================== --- Zope/branches/Zope-2_8-branch/lib/python/Products/ZSQLMethods/__init__.py 2005-10-31 08:30:03 UTC (rev 39761) +++ Zope/branches/Zope-2_8-branch/lib/python/Products/ZSQLMethods/__init__.py 2005-10-31 10:35:06 UTC (rev 39762) @@ -7,21 +7,19 @@ # 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 +# FOR A PARTICULAR PURPOSE. # ############################################################################## -__doc__='''SQL Method Product +"""SQL Method Product. +$Id$ +""" -$Id$''' -__version__='$Revision: 1.18 $'[11:-2] import Shared.DC.ZRDB.Search, Shared.DC.ZRDB.Aqueduct, SQL import Shared.DC.ZRDB.RDB import Shared.DC.ZRDB.sqlvar, Shared.DC.ZRDB.sqlgroup, Shared.DC.ZRDB.sqltest -# This is the new way to initialize products. It is hoped -# that this more direct mechanism will be more understandable. def initialize(context): context.registerClass( @@ -29,6 +27,9 @@ permission='Add Database Methods', constructors=(SQL.manage_addZSQLMethodForm, SQL.manage_addZSQLMethod), icon='sqlmethod.gif', + # XXX: can this permission be removed? + permissions=('Open/Close Database Connections',), + legacy=(SQL.SQLConnectionIDs,) ) context.registerClass( @@ -36,25 +37,13 @@ permission='Add Documents, Images, and Files', constructors=(Shared.DC.ZRDB.Search.addForm, Shared.DC.ZRDB.Search.manage_addZSearch), + legacy=(Shared.DC.ZRDB.Search.ZQueryIds,) ) context.registerHelp() context.registerHelpTitle('Zope Help') -methods={ - # We still need this one, at least for now, for both editing and - # adding. Ugh. - 'SQLConnectionIDs': SQL.SQLConnectionIDs, - # Oh please! - 'ZQueryIds': Shared.DC.ZRDB.Search.ZQueryIds, - } - -__ac_permissions__=( - # Ugh. We should get rid of this, but we'll have to revisit connections - ('Open/Close Database Connections', ()), - ) - __module_aliases__=( ('Products.AqueductSQLMethods','Products.ZSQLMethods'), ('Aqueduct', Shared.DC.ZRDB), Property changes on: Zope/branches/Zope-2_8-branch/lib/python/Products/ZSQLMethods/__init__.py ___________________________________________________________________ Name: cvs2svn:cvs-rev - 1.18 _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins