On Tue, 2005-12-06 at 18:44 -0500, Paul Winkler wrote:
> Hi,
> 
> Is it possible to register an adapter for a builtin type
> such as str?  All the adapter examples I see use an interface for the
> "for" attribute.
> 
> Something like:
> 
>   <adapter for="str"
>     provides=".interfaces.IHTTPConnection"
>     factory="httplib.HTTPConnection"
>   />

Hi,

in plain Zope3 (I'm not using Five, but it may be similar there.) you
can declare an interface for the buitin: (e.g. in interfaces.py)

class interface IStr(Interface):
   # define the methods here which you need to access
   def upper():
       "upper ... as an example"

In configure.zcml, you declare the interface for the builtin:

<class class="str">
   <implements interface=".interfaces.IStr" />
</class>

<adapter
   for=".interfaces.IStr"
   provides=".interfaces.IHTTPConnection"
   factory="httplib.HTTPConnection"
   />

Then you can do:
  IHTTPConnection('string') to get the adapter.

HTH,
 mac

_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to