You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by rj...@apache.org on 2013/07/04 09:05:16 UTC

svn commit: r1499666 - /bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py

Author: rjollos
Date: Thu Jul  4 07:05:15 2013
New Revision: 1499666

URL: http://svn.apache.org/r1499666
Log:
PEP-0008 whitespace changes guided by PyLint.

Modified:
    bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py

Modified: bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1499666&r1=1499665&r2=1499666&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original)
+++ bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Thu Jul  4 07:05:15 2013
@@ -50,6 +50,7 @@ from bhdashboard.util import WidgetBase,
 
 __metaclass__ = type
 
+
 class ITimelineEventsFilter(Interface):
     """Filter timeline events displayed in a rendering context
     """
@@ -71,11 +72,12 @@ class ITimelineEventsFilter(Interface):
                   `NotImplemented` if the filter doesn't care about it.
         """
 
+
 class TimelineWidget(WidgetBase):
     """Display activity feed.
     """
     default_count = IntOption('widget_activity', 'limit', 25, 
-                        """Maximum number of items displayed by default""")
+        """Maximum number of items displayed by default""")
 
     event_filters = ExtensionPoint(ITimelineEventsFilter)
 
@@ -101,36 +103,36 @@ class TimelineWidget(WidgetBase):
         the widget with specified name.
         """
         return {
-                'from' : {
-                        'desc' : """Display events before this date""",
-                        'type' : DateField(), # TODO: Custom datetime format
-                    },
-                'daysback' : {
-                        'desc' : """Event time window""",
-                        'type' : int, 
-                    },
-                'precision' : {
-                        'desc' : """Time precision""",
-                        'type' : EnumField('second', 'minute', 'hour')
-                    },
-                'doneby' : {
-                        'desc' : """Filter events related to user""",
-                    },
-                'filters' : {
-                        'desc' : """Event filters""",
-                        'type' : ListField()
-                    },
-                'max' : {
-                        'desc' : """Limit the number of events displayed""",
-                        'type' : int
-                    },
-                'realm' : {
-                        'desc' : """Resource realm. Used to filter events""",
-                    },
-                'id' : {
-                        'desc' : """Resource ID. Used to filter events""",
-                    },
-            }
+            'from': {
+                'desc': """Display events before this date""",
+                'type': DateField(),  # TODO: Custom datetime format
+            },
+            'daysback': {
+                'desc': """Event time window""",
+                'type': int,
+            },
+            'precision': {
+                'desc': """Time precision""",
+                'type': EnumField('second', 'minute', 'hour')
+            },
+            'doneby': {
+                'desc': """Filter events related to user""",
+            },
+            'filters': {
+                'desc': """Event filters""",
+                'type': ListField()
+            },
+            'max': {
+                'desc': """Limit the number of events displayed""",
+                'type': int
+            },
+            'realm': {
+                'desc': """Resource realm. Used to filter events""",
+            },
+            'id': {
+                'desc': """Resource ID. Used to filter events""",
+            },
+        }
     get_widget_params = pretty_wrapper(get_widget_params, check_widget_name)
 
     def render_widget(self, name, context, options):
@@ -143,7 +145,7 @@ class TimelineWidget(WidgetBase):
             admin_page = tag.a(_("administration page."),
                                title=_("Plugin Administration Page"),
                                href=req.href.admin('general/plugin'))
-            if timemdl is None :
+            if timemdl is None:
                 return 'widget_alert.html', {
                     'title':  _("Activity"),
                     'data': {
@@ -158,16 +160,16 @@ class TimelineWidget(WidgetBase):
                     }
                 }, context
 
-            params = ('from', 'daysback', 'doneby', 'precision', 'filters', \
-                        'max', 'realm', 'id')
+            params = ('from', 'daysback', 'doneby', 'precision', 'filters',
+                      'max', 'realm', 'id')
             start, days, user, precision, filters, count, realm, rid = \
-                    self.bind_params(name, options, *params)
+                self.bind_params(name, options, *params)
             if context.resource.realm == 'ticket':
                 if days is None:
                     # calculate a long enough time daysback
                     ticket = Ticket(self.env, context.resource.id)
-                    ticketage = datetime.now(utc) - ticket.time_created
-                    days = ticketage.days + 1
+                    ticket_age = datetime.now(utc) - ticket.time_created
+                    days = ticket_age.days + 1
                 if count is None:
                     # ignore short count for ticket feeds
                     count = 0
@@ -176,12 +178,12 @@ class TimelineWidget(WidgetBase):
 
             fakereq = dummy_request(self.env, req.authname)
             fakereq.args = {
-                    'author' : user or '',
-                    'daysback' : days or '',
-                    'max' : count,
-                    'precision' : precision,
-                    'user' : user
-                }
+                'author': user or '',
+                'daysback': days or '',
+                'max': count,
+                'precision': precision,
+                'user': user
+            }
             if filters:
                 fakereq.args.update(dict((k, True) for k in filters))
             if start is not None:
@@ -197,12 +199,12 @@ class TimelineWidget(WidgetBase):
                     wcontext.req = req
                 else:
                     self.log.warning("TimelineWidget: Resource %s not found",
-                            resource)
+                                     resource)
             # FIXME: Filter also if existence check is not conclusive ?
             if resource_exists(self.env, wcontext.resource):
                 module = FilteredTimeline(self.env, wcontext)
-                self.log.debug('Filtering timeline events for %s', \
-                        wcontext.resource)
+                self.log.debug('Filtering timeline events for %s',
+                               wcontext.resource)
             else:
                 module = timemdl
             data = module.process_request(fakereq)[1]
@@ -217,17 +219,15 @@ class TimelineWidget(WidgetBase):
                 # Needed for abbreviated messages in widget events (#340)
                 wcontext.set_hints(**(data['context']._hints or {}))
             data['context'] = wcontext
-            return 'widget_timeline.html', \
-                    {
-                        'title' : _('Activity'),
-                        'data' : data, 
-                        'altlinks' : fakereq.chrome.get('links',
-                                                        {}).get('alternate')
-                    }, \
-                    context
+            return 'widget_timeline.html', {
+                'title': _('Activity'),
+                'data': data,
+                'altlinks': fakereq.chrome.get('links', {}).get('alternate')
+            }, context
 
     render_widget = pretty_wrapper(render_widget, check_widget_name)
 
+
 class FilteredTimeline:
     """This is a class (not a component ;) aimed at overriding some parts of
     TimelineModule without patching it in order to inject code needed to filter
@@ -254,7 +254,7 @@ class FilteredTimeline:
     @property
     def max_daysback(self):
         return (-1 if self.context.resource.realm == 'ticket'
-                   else self._max_daysback)
+                else self._max_daysback)
 
     @property
     def event_providers(self):
@@ -272,11 +272,12 @@ class FilteredTimeline:
             if isinstance(value, MethodType):
                 raise AttributeError()
         except AttributeError:
-            raise AttributeError("'%s' object has no attribute '%s'" % \
-                    (self.__class__.__name__, attrnm))
+            raise AttributeError("'%s' object has no attribute '%s'"
+                                 % (self.__class__.__name__, attrnm))
         else:
             return value
 
+
 class TimelineFilterAdapter:
     """Wrapper class used to filter timeline event streams transparently.
     Therefore it is compatible with `ITimelineEventProvider` interface 
@@ -293,9 +294,9 @@ class TimelineFilterAdapter:
 
     def get_timeline_filters(self, req):
         gen = self.provider.get_timeline_filters(req)
-        if (self.context.resource.realm == 'ticket' and
-            isinstance(self.provider, TicketModule) and
-            'TICKET_VIEW' in req.perm):
+        if self.context.resource.realm == 'ticket' and \
+                isinstance(self.provider, TicketModule) and \
+                'TICKET_VIEW' in req.perm:
             # ensure ticket_details appears once if this is a query on a ticket
             gen = list(gen)
             if not [g for g in gen if g[0] == 'ticket_details']:
@@ -309,16 +310,16 @@ class TimelineFilterAdapter:
         """
         filters_map = TimelineWidget(self.env).filters_map
         evfilters = filters_map.get(self.provider.__class__.__name__, []) + \
-                filters_map.get(None, [])
+            filters_map.get(None, [])
         self.log.debug('Applying filters %s for %s against %s', evfilters, 
-                self.context.resource, self.provider)
+                       self.context.resource, self.provider)
         if evfilters:
             for event in self.provider.get_timeline_events(
                     req, start, stop, filters):
                 match = False
                 for f in evfilters:
                     new_event = f.filter_event(self.context, self.provider,
-                            event, filters)
+                                               event, filters)
                     if new_event is None:
                         event = None
                         match = True
@@ -342,11 +343,12 @@ class TimelineFilterAdapter:
         try:
             value = getattr(self.provider, attrnm)
         except AttributeError:
-            raise AttributeError("'%s' object has no attribute '%s'" % \
-                    (self.__class__.__name__, attrnm))
+            raise AttributeError("'%s' object has no attribute '%s'"
+                                 % (self.__class__.__name__, attrnm))
         else:
             return value
 
+
 class TicketFieldTimelineFilter(Component):
     """A class filtering ticket events related to a given resource
     associated via ticket fields.
@@ -359,8 +361,8 @@ class TicketFieldTimelineFilter(Componen
         """
         field_names = getattr(self, '_fields', None)
         if field_names is None:
-            self._fields = set(f['name'] \
-                    for f in TicketSystem(self.env).get_ticket_fields())
+            self._fields = set(f['name'] for f in
+                               TicketSystem(self.env).get_ticket_fields())
         return self._fields
 
     # ITimelineEventsFilter methods
@@ -383,7 +385,7 @@ class TicketFieldTimelineFilter(Componen
                     ticket_ids = event[3][0]
                 except:
                     self.log.exception('Unknown ticket event %s ... [SKIP]',
-                            event)
+                                       event)
                     return None
 
                 if not isinstance(ticket_ids, list):