Changeset 5708
- Timestamp:
- May 12, 2009, 12:55:22 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
timelinecheckinfilterplugin/0.11/TimelineCheckinFilter.py
r5705 r5708 1 1 """ 2 The TimelineCheckinFilter plugin changes the behaviour of the timeline and enables you to view changes to particular paths , or by particular users.2 The TimelineCheckinFilter plugin changes the behaviour of the timeline and enables you to view changes to particular paths. 3 3 4 4 Based on BranchTimelinePlugin … … 22 22 [timeline-checkin-filter] 23 23 filter_paths = trunk:trunk, branch1:branches/branch1, proj2-trunk:project2/trunk, arbitrary-label:arbitrary/path 24 filter_users = username1, username225 24 26 25 """ … … 35 34 36 35 FILTER_PATH_NAME_PREFIX = 'path_filter_' 37 FILTER_USER_NAME_PREFIX = 'user_filter_'38 36 39 37 python_version = tuple(sys.version_info[:2]) … … 52 50 paths.append(path_lookup[timeline_filter[len(FILTER_PATH_NAME_PREFIX):]]) 53 51 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 users61 52 62 53 def _changeset_belongs_to_paths(changeset_object, paths): … … 81 72 def __init__(self): 82 73 self._filter_paths = {} 83 self._filter_users = []84 74 display = self.env.config.get('timeline-checkin-filter', 'filter_paths', '') 85 75 display = display.strip() … … 93 83 path = path.strip(os.sep) 94 84 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)100 85 101 86 def get_timeline_filters(self, req): … … 117 102 filter_name = "%s%s" % (FILTER_PATH_NAME_PREFIX, path_name) 118 103 yield (filter_name, 'Checkins to %s' % (path_name, ), True) 119 120 # User filters121 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)124 104 125 105 def get_timeline_events(self, req, start, stop, filters): … … 148 128 filtered_paths = _get_filtered_paths(filters, self._filter_paths) 149 129 150 filtered_users = _get_filtered_users(filters)151 152 130 changesets_iterator = super(TimelineCheckinFilterModule, self).get_timeline_events(req, start, stop, filters) 153 131 … … 155 133 for changeset in changesets_iterator: 156 134 # 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.