Changeset 5708


Ignore:
Timestamp:
May 12, 2009, 12:55:22 AM (16 years ago)
Author:
Dave
Message:

Removed username filtering - use TimelineUserFilterPlugin instead, it's better.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • timelinecheckinfilterplugin/0.11/TimelineCheckinFilter.py

    r5705 r5708  
    11"""
    2 The TimelineCheckinFilter plugin changes the behaviour of the timeline and enables you to view changes to particular paths, or by particular users.
     2The TimelineCheckinFilter plugin changes the behaviour of the timeline and enables you to view changes to particular paths.
    33
    44Based on BranchTimelinePlugin
     
    2222[timeline-checkin-filter]
    2323filter_paths = trunk:trunk, branch1:branches/branch1, proj2-trunk:project2/trunk, arbitrary-label:arbitrary/path
    24 filter_users = username1, username2
    2524
    2625"""
     
    3534
    3635FILTER_PATH_NAME_PREFIX = 'path_filter_'
    37 FILTER_USER_NAME_PREFIX = 'user_filter_'
    3836
    3937python_version = tuple(sys.version_info[:2])
     
    5250            paths.append(path_lookup[timeline_filter[len(FILTER_PATH_NAME_PREFIX):]])
    5351    return paths
    54 
    55 def _get_filtered_users(filters):
    56     users = []
    57     for timeline_filter in filters:
    58         if timeline_filter.startswith(FILTER_USER_NAME_PREFIX):
    59             users.append(timeline_filter[len(FILTER_USER_NAME_PREFIX):])
    60     return users
    6152
    6253def _changeset_belongs_to_paths(changeset_object, paths):
     
    8172    def __init__(self):
    8273        self._filter_paths = {}
    83         self._filter_users = []
    8474        display = self.env.config.get('timeline-checkin-filter', 'filter_paths', '')
    8575        display = display.strip()
     
    9383                path = path.strip(os.sep)
    9484            self._filter_paths[label] = path
    95         users = self.env.config.get('timeline-checkin-filter', 'filter_users', '')
    96         users = users.split(',')
    97         for user in users:
    98             user = user.strip()
    99             self._filter_users.append(user)
    10085
    10186    def get_timeline_filters(self, req):
     
    117102            filter_name = "%s%s" % (FILTER_PATH_NAME_PREFIX, path_name)
    118103            yield (filter_name, 'Checkins to %s' % (path_name, ), True)
    119 
    120         # User filters
    121         for user in self._filter_users:
    122             filter_name = "%s%s" % (FILTER_USER_NAME_PREFIX, user)
    123             yield (filter_name, 'Checkins by %s' % (user,), True)
    124104
    125105    def get_timeline_events(self, req, start, stop, filters):
     
    148128        filtered_paths = _get_filtered_paths(filters, self._filter_paths)
    149129
    150         filtered_users = _get_filtered_users(filters)
    151 
    152130        changesets_iterator = super(TimelineCheckinFilterModule, self).get_timeline_events(req, start, stop, filters)
    153131
     
    155133        for changeset in changesets_iterator:
    156134            # Unfortunately, Trac isn't written so well, and so here we must use indices.
    157             if (not filtered_users) or (changeset[2] and changeset[2] in filtered_users):
    158                 for changeset_object in changeset[3][0]:
    159                     if (not filtered_paths) or _changeset_belongs_to_paths(changeset_object, filtered_paths):
    160                         yield changeset
     135            for changeset_object in changeset[3][0]:
     136                if (not filtered_paths) or _changeset_belongs_to_paths(changeset_object, filtered_paths):
     137                    yield changeset
Note: See TracChangeset for help on using the changeset viewer.