Re: [Zope-dev] Re: Utility factory handling for zope.component

2008-07-23 Thread Stephan Richter
On Wednesday 23 July 2008, Philipp von Weitershausen wrote:
> I think Stephan is referring to the (formerly) last item of the tuple,
> which is available as utility_reg.info. It contains information about
> how the component was registered, for instance the ZCML file name + line
> number.
>
> It looks like Stephan is suggesting to do something like this:
>
>    component = factory()
>    registry.registerUtility(component, info=InfoAbout(factory))
>
> whereas Wichert's approach allows you to write:
>
>    registry.registerUtility(factory=factory)
>
> I prefer Wichert's approach.

Oh, I thought the "component" argument was still required making factory a 
documentation artifact. In this case I am okay.

Regards,
Stephan
-- 
Stephan Richter
Web Software Design, Development and Training
Google me. "Zope Stephan Richter"
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Utility factory handling for zope.component

2008-07-23 Thread Philipp von Weitershausen

Wichert Akkerman wrote:

Stephan Richter wrote:

On Wednesday 23 July 2008, Wichert Akkerman wrote:
  

If there are no objections I intend to merge the branch to trunk in a
few days



I am uncomfortable with the way you approached this. I think there are at 
least two other possibilities that I can see without having looked closer:


1. Use the info object. The point of the info is to contain this sort of 
information.
  


Which info object are you referring to? The only information I could see 
for utility registration is a tuple, not an object. This is used to 
build the UtilityRegistration object when querying registration 
information, and I added a factory method there.


I think Stephan is referring to the (formerly) last item of the tuple, 
which is available as utility_reg.info. It contains information about 
how the component was registered, for instance the ZCML file name + line 
number.


It looks like Stephan is suggesting to do something like this:

  component = factory()
  registry.registerUtility(component, info=InfoAbout(factory))

whereas Wichert's approach allows you to write:

  registry.registerUtility(factory=factory)

I prefer Wichert's approach.
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: Utility factory handling for zope.component

2008-07-23 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Wichert Akkerman wrote:
> Tools like GenericSetup which deal with mangement of utility
> registration are a bit handicapped at the moment: even though you can
> register a utility using a factory the utility registration itself
> only runs the factory methods but does not keep any information on it.
> As a result you can not round-trip utility registration information or
> check if the current configuration has changed from an original
> configuration. 
> 
> To fix that I made a wichert-utility-factories branch of zope.component
> which adds the factory information to the utility registration. All
> changes are fully backbwards compatible at both the API and persistence
> level.
> 
> If there are no objections I intend to merge the branch to trunk in a
> few days.

+1.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   "Excellence by Design"http://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIh0/1+gerLs4ltQ4RAqvmAJ9ZhukVeDLQ+MiBTTYtDC6NkEEwYACcCIUn
CpxkKLgOfJjmdulFMgOuqtE=
=rKeM
-END PGP SIGNATURE-
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )