Re: merge zope.configuration dictactions branch

"Charlie Clark" <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Organization Clark Consulting & Research
Message-ID <[email protected]>
Hi Chris,

Am 05.12.2011, 04:02 Uhr, schrieb Chris McDonough <[email protected]>:

> On the zope.configuration trunk (and in all past releases), each ZCML
> action is maintained as a tuple.  The tuple can be of any length up to
> seven elements, but mustn't exceed a length of seven.  A complex system
> of lengthening and shortening (in
> zope.configuration.config.resolveConflicts) tries to ensure that the
> tuple is of the smallest length required by chopping false elements off
> the end of each action tuple during storage and reconstituting them to
> 7-element tuples during processing and sorting.  I think this juke was
> purely to make doctests easier to write, but I'm not entirely sure.

eek! I'm sure there was a better reason for this in the first place. As  
things stand ZCML declarations are not orthogonal so a key-based approach  
seems the better fit.

> Up til now, pyramid_zcml could live with actions being at most 7
> elements.  But recent changes to the Pyramid trunk (adding
> "introspectables") blew out the presumption that an action tuple could
> be no longer than 7 elements (it now might need to be 8 elements).

> Rather than extend the structure of the zope.configuration tuple with a
> Pyramid-only "introspectables" argument, I've created the
> chrism-dictactions branch
> (http://svn.zope.org/zope.configuration/branches/chrism-dictactions/)
> which changes ZCML action structures to be dictionaries.  This allows
> each action to contain arbitrary keys.  This modification satisfies the
> immediate requirement (adding "introspectables") and allows us to never
> need to change the zope.config code again if more elements need to be
> added to actions.

+1 as all ZTK test pass.

> I could have instead added an "extras" dictionary on to the end of the
> tuple as an 8th element, but it seems six of one a half dozen of
> another, and the z.config code is much easier to understand when the
> action is just a dictionary instead of a pseudo-struct.

I'm trying to think of where I've seen that pattern of {'organised'....  
'others':{}} before... oh, yes in dodgy RDBMS schema.

Charlie
-- 
Charlie Clark
Managing Director
Clark Consulting & Research
German Office
Kronenstr. 27a
Düsseldorf
D- 40217
Tel: +49-211-600-3657
Mobile: +49-178-782-6226
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.