Chromium Code Reviews| Index: appengine/swarming/handlers_frontend.py |
| diff --git a/appengine/swarming/handlers_frontend.py b/appengine/swarming/handlers_frontend.py |
| index 158d74e69cf2a76feb3f490e776fd3193791e53c..2c083c5c1044194870d0d3b9955d79997a29bfd3 100644 |
| --- a/appengine/swarming/handlers_frontend.py |
| +++ b/appengine/swarming/handlers_frontend.py |
| @@ -616,6 +616,17 @@ class BaseTaskHandler(auth.AuthenticatingHandler): |
| class TaskHandler(BaseTaskHandler): |
| """Show the full text of a task request and its result.""" |
| + @staticmethod |
| + def packages_grouped_by_path(flat_packages): |
| + """Returns sorted [(path, [PinInfo, ...])]. |
| + |
| + Used by user_task.html. |
| + """ |
| + retval = collections.defaultdict(list) |
| + for pkg in flat_packages: |
| + retval[pkg.path].append(pkg) |
| + return sorted(retval.iteritems()) |
| + |
| @auth.autologin |
| @auth.require(acl.is_user) |
| def get(self, task_id): |
| @@ -663,9 +674,27 @@ class TaskHandler(BaseTaskHandler): |
| parent_task = parent_task_future.get_result() |
| children_tasks = [c.get_result() for c in children_tasks_futures] |
| + cipd = None |
| + if request.properties.cipd_input: |
| + cipd = { |
| + 'server': request.properties.cipd_input.server, |
| + 'client_package': request.properties.cipd_input.client_package, |
| + 'packages': self.packages_grouped_by_path( |
| + request.properties.cipd_input.packages) |
|
M-A Ruel
2016/08/30 18:54:12
keep trailing comma
iannucci
2016/08/30 19:09:17
Done
|
| + } |
| + |
| + cipd_pins = None |
| + if result.cipd_pins: |
| + cipd_pins = { |
| + 'client_package': result.cipd_pins.client_package, |
| + 'packages': self.packages_grouped_by_path(result.cipd_pins.packages), |
| + } |
| + |
| params = { |
| 'bot': bot_future.get_result() if bot_future else None, |
| 'children_tasks': children_tasks, |
| + 'cipd': cipd, |
| + 'cipd_pins': cipd_pins, |
| 'is_admin': acl.is_admin(), |
| 'is_gae_admin': users.is_current_user_admin(), |
| 'is_privileged_user': acl.is_privileged_user(), |