[Checkins] SVN: Products.CMFCalendar/trunk/Products/CMFCalendar/ - finished converting tools into local utilities

Yvo Schubbe y.2011 at wcm-solutions.de
Mon Sep 26 03:50:57 EST 2011


Log message for revision 122939:
  - finished converting tools into local utilities

Changed:
  U   Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt
  U   Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py
  UU  Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py
  A   Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml
  U   Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py
  UU  Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py
  UU  Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py
  UU  Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py

-=-
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt	2011-09-26 08:50:57 UTC (rev 122939)
@@ -4,6 +4,8 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- Converted the CalendarTool into a local utility.
+
 - Made sure converted tools are used as utilities.
 
 - Fixed tests to be compatibility with DateTime 3.

Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py	2011-09-26 08:50:57 UTC (rev 122939)
@@ -26,6 +26,7 @@
 from Products.CMFCalendar.interfaces import ICalendarTool
 from Products.CMFCalendar.permissions import ManagePortal
 from Products.CMFCore.interfaces import ICatalogTool
+from Products.CMFCore.utils import registerToolInterface
 from Products.CMFCore.utils import UniqueObject
 
 def sort_by_date(x, y):
@@ -35,7 +36,7 @@
     if not z:
         return cmp(x.end, y.end)
     return z
-    
+
 def unique_results(results):
     """ Utility function to create a sequence of unique calendar results
     """
@@ -45,7 +46,7 @@
     return rids.values()
 
 
-class CalendarTool (UniqueObject, SimpleItem):
+class CalendarTool(UniqueObject, SimpleItem):
 
     """ A tool for encapsulating how calendars work and are displayed """
 
@@ -67,25 +68,19 @@
     #
     #   ZMI methods
     #
-    security.declareProtected( ManagePortal, 'manage_overview' )
+    security.declareProtected(ManagePortal, 'manage_overview')
     manage_overview = PageTemplateFile('www/explainCalendarTool', globals(),
                                    __name__='manage_overview')
 
-    security.declareProtected( ManagePortal, 'manage_configure' )
+    security.declareProtected(ManagePortal, 'manage_configure')
     manage_configure = PageTemplateFile('www/configureCalendarTool', globals(),
                                    __name__='manage_configure')
 
-    security.declareProtected( ManagePortal, 'edit_configuration' )
-    def edit_configuration( self
-                          , show_types
-                          , use_session
-                          , show_states=None
-                          , firstweekday=None
-                          ):
+    security.declareProtected(ManagePortal, 'edit_configuration')
+    def edit_configuration(self, show_types, use_session, show_states=None,
+                           firstweekday=None, REQUEST=None):
         """ Change the configuration of the calendar tool 
         """
-        # XXX: this method violates the rules for tools/utilities:
-        # it depends on self.REQUEST
         self.calendar_types = tuple(show_types)
         self.use_session = bool(use_session)
 
@@ -103,8 +98,8 @@
                 # Do nothing with illegal values
                 pass
 
-        if hasattr(self.REQUEST, 'RESPONSE'):
-            self.REQUEST.RESPONSE.redirect('manage_configure')
+        if REQUEST is not None:
+            REQUEST.RESPONSE.redirect('manage_configure')
 
     security.declarePrivate('_getCalendar')
     def _getCalendar(self):
@@ -367,7 +362,7 @@
         end = DateTime('%d/%02d/%02d 23:59:59' % (year, month, day))
 
         return (begin, end)
-        
+
     security.declarePublic('getNextEvent')
     def getNextEvent(self, start_date=None):
         """ Get the next event that starts after start_date
@@ -390,3 +385,4 @@
             return results[0]
 
 InitializeClass(CalendarTool)
+registerToolInterface('portal_calendar', ICalendarTool)

Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py	2011-09-26 08:50:57 UTC (rev 122939)
@@ -11,12 +11,12 @@
 #
 ##############################################################################
 """Browser views for the portal calendar.
-
-$Id$
 """
 
 from DateTime.DateTime import DateTime
+from zope.component import getUtility
 
+from Products.CMFCalendar.interfaces import ICalendarTool
 from Products.CMFDefault.browser.utils import decode
 from Products.CMFDefault.browser.utils import memoize
 from Products.CMFDefault.browser.utils import ViewBase
@@ -34,7 +34,7 @@
         """
         day = self.viewDay()
         event_start = event_brain.getObject().start()
-        first_date = DateTime(day.Date()+" 00:00:00")
+        first_date = DateTime(day.Date() + " 00:00:00")
 
         if event_start < first_date:
             return event_start.aCommon()[:12]
@@ -46,7 +46,7 @@
         """
         day = self.viewDay()
         event_end = event_brain.getObject().end()
-        last_date = DateTime(day.Date()+" 23:59:59")
+        last_date = DateTime(day.Date() + " 23:59:59")
 
         if event_end > last_date:
             return event_end.aCommon()[:12]
@@ -76,7 +76,7 @@
         day = self.viewDay()
         view_url = self._getViewURL()
 
-        return '%s?date=%s' % (view_url, (day-1).Date())
+        return '%s?date=%s' % (view_url, (day - 1).Date())
 
     @memoize
     def nextDayURL(self):
@@ -85,14 +85,14 @@
         day = self.viewDay()
         view_url = self._getViewURL()
 
-        return '%s?date=%s' % (view_url, (day+1).Date())
+        return '%s?date=%s' % (view_url, (day + 1).Date())
 
     @memoize
     @decode
     def listItemInfos(self):
         """ List item infos for all event catalog records for a specific day.
         """
-        caltool = self._getTool('portal_calendar')
+        caltool = getUtility(ICalendarTool)
         thisDay = self.viewDay()
 
         items = [ {'title': item.Title,
@@ -112,7 +112,7 @@
     def getMonthAndYear(self):
         """ Retrieve month/year tuple
         """
-        caltool = self._getTool('portal_calendar')
+        caltool = getUtility(ICalendarTool)
         current = DateTime()
         session = None
 
@@ -146,10 +146,10 @@
     def getNextMonthLink(self, base_url, month, year):
         """ Return URL for the next month link
         """
-        caltool = self._getTool('portal_calendar')
+        caltool = getUtility(ICalendarTool)
         nextMonthTime = caltool.getNextMonth(month, year)
 
-        x = '%s?month:int=%d&year:int=%d' % ( base_url
+        x = '%s?month:int=%d&year:int=%d' % (base_url
                                             , nextMonthTime.month()
                                             , nextMonthTime.year()
                                             )
@@ -159,10 +159,10 @@
     def getPreviousMonthLink(self, base_url, month, year):
         """ Return URL for the previous month link
         """
-        caltool = self._getTool('portal_calendar')
+        caltool = getUtility(ICalendarTool)
         prevMonthTime = caltool.getPreviousMonth(month, year)
 
-        x = '%s?month:int=%d&year:int=%d' % ( base_url
+        x = '%s?month:int=%d&year:int=%d' % (base_url
                                             , prevMonthTime.month()
                                             , prevMonthTime.year()
                                             )
@@ -174,9 +174,9 @@
         """
         current = DateTime()
 
-        if ( current.year()==year and
-             current.month()==month and
-             current.day()==int(day) ):
+        if (current.year() == year and
+            current.month() == month and
+            current.day() == int(day)):
             if event:
                 return 'todayevent'
             else:


Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py
___________________________________________________________________
Deleted: svn:keywords
   - Id

Added: Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml	                        (rev 0)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml	2011-09-26 08:50:57 UTC (rev 122939)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<componentregistry>
+ <adapters/>
+ <subscribers/>
+ <utilities>
+  <utility interface="Products.CMFCalendar.interfaces.ICalendarTool"
+     object="portal_calendar"/>
+ </utilities>
+</componentregistry>


Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py	2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,16 +1,16 @@
 ##parameters=
 ##
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
 from Products.CMFDefault.utils import decode
 
-caltool = getToolByName(script, 'portal_calendar')
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
 
 options = {}
 base_url = script.absolute_url()
 thisDay = DateTime(context.REQUEST.get('date', DateTime().aCommon()[:12]))
-options['previous_url'] = '%s?date=%s' % (base_url, (thisDay-1).Date())
+options['previous_url'] = '%s?date=%s' % (base_url, (thisDay - 1).Date())
 options['date'] = thisDay.aCommon()[:12]
-options['next_url'] =  '%s?date=%s' % (base_url, (thisDay+1).Date())
+options['next_url'] = '%s?date=%s' % (base_url, (thisDay + 1).Date())
 
 items = [ {'title': item.Title,
            'url': item.getURL(),

Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py	2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,9 +1,9 @@
-
+##parameters=
+##
 # Get the year and month that the calendar should display.
+from Products.CMFCore.utils import getUtilityByInterfaceName
 
-from Products.CMFCore.utils import getToolByName
-
-caltool = getToolByName(script, 'portal_calendar')
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
 current = DateTime()
 session = None
 


Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py
___________________________________________________________________
Deleted: svn:keywords
   - Author Date Id Revision

Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py	2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,6 +1,9 @@
 ##parameters=base_url, month, year
+##
+from Products.CMFCore.utils import getUtilityByInterfaceName
 
-nextMonthTime = container.portal_calendar.getNextMonth(month, year)
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
+nextMonthTime = caltool.getNextMonth(month, year)
 
 # Takes a base url and returns a link to the previous month
 x = '%s?month:int=%d&year:int=%d' % (
@@ -9,4 +12,4 @@
                                      nextMonthTime.year()
                                      )
 
-return x
\ No newline at end of file
+return x


Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py
___________________________________________________________________
Deleted: svn:keywords
   - Author Date Id Revision

Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py	2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py	2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,6 +1,9 @@
 ##parameters=base_url, month, year
+##
+from Products.CMFCore.utils import getUtilityByInterfaceName
 
-prevMonthTime = container.portal_calendar.getPreviousMonth(month, year)
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
+prevMonthTime = caltool.getPreviousMonth(month, year)
 
 # Takes a base url and returns a link to the previous month
 x = '%s?month:int=%d&year:int=%d' % (
@@ -9,4 +12,4 @@
                                      prevMonthTime.year()
                                      )
 
-return x
\ No newline at end of file
+return x


Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py
___________________________________________________________________
Deleted: svn:keywords
   - Author Date Id Revision



More information about the checkins mailing list