Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: watchlists.py

Issue 132022: Fix watchlists for windows, for files with backslash (Closed) Base URL: svn://chrome-svn/chrome/trunk/tools/depot_tools/
Patch Set: '' Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/watchlists_unittest.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Watchlists 6 """Watchlists
7 7
8 Watchlists is a mechanism that allow a developer (a "watcher") to watch over 8 Watchlists is a mechanism that allow a developer (a "watcher") to watch over
9 portions of code that he is interested in. A "watcher" will be cc-ed to 9 portions of code that he is interested in. A "watcher" will be cc-ed to
10 changes that modify that portion of code, thereby giving him an opportunity 10 changes that modify that portion of code, thereby giving him an opportunity
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 """Fetch the list of watchers for |paths| 97 """Fetch the list of watchers for |paths|
98 98
99 Args: 99 Args:
100 paths: [path1, path2, ...] 100 paths: [path1, path2, ...]
101 101
102 Returns: 102 Returns:
103 [u1@chromium.org, u2@gmail.com, ...] 103 [u1@chromium.org, u2@gmail.com, ...]
104 """ 104 """
105 watchers = set() # A set, to avoid duplicates 105 watchers = set() # A set, to avoid duplicates
106 for path in paths: 106 for path in paths:
107 path = path.replace(os.sep, '/')
107 for name, rule in self._defns.iteritems(): 108 for name, rule in self._defns.iteritems():
108 if name not in self._watchlists: continue 109 if name not in self._watchlists: continue
109 rex_str = rule.get('filepath') 110 rex_str = rule.get('filepath')
110 if not rex_str: continue 111 if not rex_str: continue
111 if re.search(rex_str, path): 112 if re.search(rex_str, path):
112 map(watchers.add, self._watchlists[name]) 113 map(watchers.add, self._watchlists[name])
113 return list(watchers) 114 return list(watchers)
114 115
115 116
116 def main(argv): 117 def main(argv):
117 # Confirm that watchlists can be parsed and spew out the watchers 118 # Confirm that watchlists can be parsed and spew out the watchers
118 if len(argv) < 2: 119 if len(argv) < 2:
119 print "Usage (from the base of repo):" 120 print "Usage (from the base of repo):"
120 print " %s [file-1] [file-2] ...." % argv[0] 121 print " %s [file-1] [file-2] ...." % argv[0]
121 return 1 122 return 1
122 wl = Watchlists(os.getcwd()) 123 wl = Watchlists(os.getcwd())
123 watchers = wl.GetWatchersForPaths(argv[1:]) 124 watchers = wl.GetWatchersForPaths(argv[1:])
124 print watchers 125 print watchers
125 126
126 127
127 if __name__ == '__main__': 128 if __name__ == '__main__':
128 main(sys.argv) 129 main(sys.argv)
OLDNEW
« no previous file with comments | « tests/watchlists_unittest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698