[Zope3-Users] benji york's quick_start.txt
Gary Poster
gary at zope.com
Wed Oct 5 13:24:34 EDT 2005
On Oct 5, 2005, at 1:12 PM, Matthew Russell wrote:
> Hi,
>
> I'm following Benji's quick_start.txt
...
> TypeError: ('Could not adapt', <zope.publisher.browser.BrowserRequest
> instance URL=http://localhost:8080/hello/@@edit.html>, <InterfaceClass
> zope.interface.common.idatetime.ITZInfo>)
Hi Matt. Looks like that might be an omission from the quick start,
and a reasonable one at that. We (Zope 3 devs) need to have a
default story for adapting request to timezone if formlib is to be
part of the trunk (and it is now). Here's a workaround (sorry that
it makes you maybe do more than you should have to do for a "quick
start").
Make a file, maybe called adapters.py in your package, with this in it:
import pytz
from zope import interface, component
from zope.interface.common.idatetime import ITZInfo
from zope.publisher.interfaces.browser import IBrowserRequest
@interface.implementer(ITZinfo)
@component.adapter(IBrowserRequest)
def tzinfo(request):
return pytz.timezone('US/Eastern') # or whatever timezone you wish
I dunno if Benji is having you use zcml yet. If you are, add this to
your zcml:
<adapter factory=".adapters.tzinfo" />
*Otherwise* try adding this to the end of your file--
component.provideAdapter(tzinfo)
--and make sure you import the adapters file from someplace so that
it will actually run.
Gary
More information about the Zope3-users
mailing list