Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 """Methods for converting model objects to human-readable formats.""" | 4 """Methods for converting model objects to human-readable formats.""" |
| 5 | 5 |
| 6 import datetime | 6 import datetime |
| 7 import itertools | 7 import itertools |
| 8 import time | 8 import time |
| 9 | 9 |
| 10 import models | 10 import models |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 193 children_desc = self._DescribeSymbolGroupChildren(group) | 193 children_desc = self._DescribeSymbolGroupChildren(group) |
| 194 return itertools.chain(header_desc, children_desc) | 194 return itertools.chain(header_desc, children_desc) |
| 195 | 195 |
| 196 def _DescribeDiffObjectPaths(self, diff): | 196 def _DescribeDiffObjectPaths(self, diff): |
| 197 paths_by_status = [set(), set(), set(), set()] | 197 paths_by_status = [set(), set(), set(), set()] |
| 198 def helper(group): | 198 def helper(group): |
| 199 for s in group: | 199 for s in group: |
| 200 if s.IsGroup(): | 200 if s.IsGroup(): |
| 201 helper(s) | 201 helper(s) |
| 202 else: | 202 else: |
| 203 status = group.DiffStatus(s) | 203 path = s.source_path or s.object_path |
| 204 paths_by_status[status].add(s.source_path or s.object_path) | 204 # Ignore paths like foo/{shared}/2 |
| 205 if '{' not in path: | |
| 206 paths_by_status[group.DiffStatus(s)].add(path) | |
| 205 helper(diff) | 207 helper(diff) |
| 206 # Show only paths that have no changed symbols (pure adds / removes). | 208 # Show only paths that have no changed symbols (pure adds / removes). |
| 207 unchanged, changed, added, removed = paths_by_status | 209 unchanged, changed, added, removed = paths_by_status |
| 210 changed.update(added.intersection(removed)) | |
|
estevenson
2017/06/09 22:30:19
nit: can you maybe add a comment above all the upd
agrieve
2017/06/12 14:37:17
Done.
| |
| 208 added.difference_update(unchanged) | 211 added.difference_update(unchanged) |
| 209 added.difference_update(changed) | 212 added.difference_update(changed) |
| 213 added.difference_update(removed) | |
| 210 removed.difference_update(unchanged) | 214 removed.difference_update(unchanged) |
| 211 removed.difference_update(changed) | 215 removed.difference_update(changed) |
| 216 removed.difference_update(added) | |
| 212 yield '{} paths added, {} removed, {} changed'.format( | 217 yield '{} paths added, {} removed, {} changed'.format( |
| 213 len(added), len(removed), len(changed)) | 218 len(added), len(removed), len(changed)) |
| 214 | 219 |
| 215 if self.verbose and len(added): | 220 if self.verbose and len(added): |
| 216 yield 'Added files:' | 221 yield 'Added files:' |
| 217 for p in sorted(added): | 222 for p in sorted(added): |
| 218 yield ' ' + p | 223 yield ' ' + p |
| 219 if self.verbose and len(removed): | 224 if self.verbose and len(removed): |
| 220 yield 'Removed files:' | 225 yield 'Removed files:' |
| 221 for p in sorted(removed): | 226 for p in sorted(removed): |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 357 | 362 |
| 358 def GenerateLines(obj, verbose=False, recursive=False): | 363 def GenerateLines(obj, verbose=False, recursive=False): |
| 359 """Returns an iterable of lines (without \n) that describes |obj|.""" | 364 """Returns an iterable of lines (without \n) that describes |obj|.""" |
| 360 return Describer(verbose=verbose, recursive=recursive).GenerateLines(obj) | 365 return Describer(verbose=verbose, recursive=recursive).GenerateLines(obj) |
| 361 | 366 |
| 362 | 367 |
| 363 def WriteLines(lines, func): | 368 def WriteLines(lines, func): |
| 364 for l in lines: | 369 for l in lines: |
| 365 func(l) | 370 func(l) |
| 366 func('\n') | 371 func('\n') |
| OLD | NEW |