[CMF-checkins] CVS: CMF/CMFCore - ActionInformation.py:1.13 ActionProviderBase.py:1.16 ActionsTool.py:1.37 CMFCorePermissions.py:1.13

Tres Seaver tseaver@zope.com
05 Feb 2003 13:27:19 -0500


On Tue, 2003-02-04 at 17:06, Yvo Schubbe wrote:
> Update of /cvs-repository/CMF/CMFCore
> In directory cvs.zope.org:/tmp/cvs-serv32554/CMFCore
> 
> Modified Files:
> 	ActionInformation.py ActionProviderBase.py ActionsTool.py 
> 	CMFCorePermissions.py 
> Log Message:
> Merged yuppie-buglets1-branch:
> - Fixed buglets. (Collector #94 and #95)
> - Removed string functions and useless imports.
> 
> === CMF/CMFCore/ActionProviderBase.py 1.15 => 1.16 ===
> --- CMF/CMFCore/ActionProviderBase.py:1.15	Wed Dec 18 15:03:54 2002
> +++ CMF/CMFCore/ActionProviderBase.py	Tue Feb  4 17:06:21 2003
> @@ -1,14 +1,15 @@
>  ##############################################################################
>  #
> -# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
> -# 
> +# Copyright (c) 2002, 2003 Zope Corporation and Contributors.
> +# All Rights Reserved.
> +#

According to our current CVS IP policy, the year of origin is all we
need in the copyright (but your change to '2002' is correct;  that
module wasn't added to the codebase in 2002).

>  # This software is subject to the provisions of the Zope Public License,
>  # Version 2.0 (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
> -# 
> +#
>  ##############################################################################
>  """ Implement a shared base for tools which provide actions.
>  
> @@ -17,7 +18,6 @@
>  
>  from Globals import DTMLFile
>  from AccessControl import ClassSecurityInfo
> -from OFS.SimpleItem import SimpleItem
>  
>  from ActionInformation import ActionInformation
>  from CMFCorePermissions import ManagePortal
> @@ -36,7 +36,7 @@
>  
>      security = ClassSecurityInfo()
>  
> -    _actions = ()
> +    _actions = []

Past experience has demonstrated quite painfully that shared mutable
defaults are evil, and a source of really hard-to-find bugs;  code which
works fine in unit tests, and when only one user is working on a system,
breaks mysteriously when multiple users / requests are firing.

Nobody should depend on this, so please revert it (the next part is
fine).  Any change you made which *does* depend on having the class
attribute be a list is, by definition, a bug waiting to be discovered.

>      _actions_form = DTMLFile( 'editToolsActions', _dtmldir )
>  
>      manage_options = ( { 'label' : 'Actions'

I'm sorry I didn't get a chance to review before you merged to the head
(but you should just be OK to fix on the head).  Thanks for the work you
are doing!

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com