Chris McDonough wrote:
> Chris McDonough wrote:
>>> Off the top of my head, another way to think of this *might* be to say 
>>> that the 'dict access' is basically looking up a *named* utility 
>>> providing a very generic marker interface, e.g. 
>>> zope.component.interfaces.IUtility or even just 
>>> zope.interface.Interface. That way reg['foo'] == getUtility(IUtility, 
>>> name='foo'). Obviously, assignment would register in the same way.
>>>
>>> I'm not sure it's "better", though. :)
>> That would also be fine, and it would normalize things a bit, although the 
>> implementation would be harder and it would result in slower lookups.  But 
>> if 
>> it made folks feel better than inheriting from dict, I'd be +1 on it.
> 
> Meh, I just remembered that I tried this.  The current implementation 
> requires 
> that the "name" value be a literal string object (or at least something 
> convertable to Unicode).  I think we could relax this requirement; it really 
> only needs to be hashable.  I wouldn't want to deploy the API if the keys 
> were 
> required to only be strings.

Should be easy to fix, I'm sure. Why would you want something other than 
strings, though?

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

_______________________________________________
Zope-Dev maillist  -  Zope-Dev@zope.org
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 )

Reply via email to