[Checkins] SVN: Sandbox/dirceu/megrok.form/src/megrok/form/ Adding default adapter for ITZInfo (needed by zc.datetimewidget)

Dirceu Pereira Tiegs dirceutiegs at gmail.com
Mon Feb 4 15:01:05 EST 2008


Log message for revision 83512:
  Adding default adapter for ITZInfo (needed by zc.datetimewidget)

Changed:
  U   Sandbox/dirceu/megrok.form/src/megrok/form/TODO.txt
  U   Sandbox/dirceu/megrok.form/src/megrok/form/browser.py
  U   Sandbox/dirceu/megrok.form/src/megrok/form/configure.zcml

-=-
Modified: Sandbox/dirceu/megrok.form/src/megrok/form/TODO.txt
===================================================================
--- Sandbox/dirceu/megrok.form/src/megrok/form/TODO.txt	2008-02-04 19:24:00 UTC (rev 83511)
+++ Sandbox/dirceu/megrok.form/src/megrok/form/TODO.txt	2008-02-04 20:01:05 UTC (rev 83512)
@@ -2,14 +2,16 @@
 megrok.form TODO
 ================
 
-- Release the egg on cheeseshop
+- Get rid of megrok.form.browser.tzinfo
 
+- Add tests for all widgets (input and display)
+
+- Release the egg
+
 - Create a widget for zope.interface.schema.Time (based on z3c.widget.dropdowndatewidget)
 
 - Create / find a field for Reference (take a look at zc.relation, zc.relationship and lovely.relation)
 
-- Test z3c.autoinclude (https://svn.openplans.org/svn/snowsprint/z3c.autoinclude/)
-
 - Look at kupu/formlib integration (http://svn.plone.org/svn/plone/plone.app.form/branches/plip200-kupu-widget)
 
 - Look at KSS-based form validation (http://svn.plone.org/svn/plone/plone.app.form/branches/plip202-formlib-kss)
\ No newline at end of file

Modified: Sandbox/dirceu/megrok.form/src/megrok/form/browser.py
===================================================================
--- Sandbox/dirceu/megrok.form/src/megrok/form/browser.py	2008-02-04 19:24:00 UTC (rev 83511)
+++ Sandbox/dirceu/megrok.form/src/megrok/form/browser.py	2008-02-04 20:01:05 UTC (rev 83512)
@@ -2,10 +2,17 @@
 import mimetypes
 import os.path
 from collective.namedfile.browser import UrlDispatcher
+from zope import interface, component
+from zope.interface.common.idatetime import ITZInfo
+from zope.publisher.interfaces.browser import IBrowserRequest
+import pytz
 
 class FileViewDispatcher(UrlDispatcher):
-    """See collective.namedfile.browser
     """
+    This overrides collective.namedfile.browser.FileViewDispatcher. The former is
+    almost equal, but uses restrictedTraverse (which is specific to Zope 2 / Plone),
+    I think.
+    """
     
     def __call__(self):    
         if not self.traverse_subpath:
@@ -27,3 +34,13 @@
         self.request.response.setHeader("Content-Type", contenttype)
         self.request.response.setHeader("Content-Length", file.getSize())
         return file.data
+
+
+ at interface.implementer(ITZInfo)
+ at component.adapter(IBrowserRequest)
+def tzinfo(request):
+    """
+    FIXME: zc.datetimewidget.datetimewidget.DatetimeDisplayWidget needs an adapter
+    for zope.interface.common.idatetime.ITZInfo. This should be set automatically.
+    """
+    return pytz.timezone('Europe/Vienna')

Modified: Sandbox/dirceu/megrok.form/src/megrok/form/configure.zcml
===================================================================
--- Sandbox/dirceu/megrok.form/src/megrok/form/configure.zcml	2008-02-04 19:24:00 UTC (rev 83511)
+++ Sandbox/dirceu/megrok.form/src/megrok/form/configure.zcml	2008-02-04 20:01:05 UTC (rev 83512)
@@ -15,6 +15,7 @@
   <include package="collective.namedfile" />
 
   <include file="overrides.zcml" />
+  <adapter factory=".browser.tzinfo"/>
 
   <include package="grok" />
 



More information about the Checkins mailing list