Chromium Code Reviews| Index: appengine/findit/model/flake/flake_try_job.py |
| diff --git a/appengine/findit/model/flake/flake_try_job.py b/appengine/findit/model/flake/flake_try_job.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a77b64617167efa2fbc8408a3b9a593514c0454c |
| --- /dev/null |
| +++ b/appengine/findit/model/flake/flake_try_job.py |
| @@ -0,0 +1,45 @@ |
| +# Copyright 2015 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +import base64 |
| + |
| +from google.appengine.ext import ndb |
| + |
| +from model.base_try_job import BaseTryJob |
| + |
| + |
| +class FlakeTryJob(BaseTryJob): |
| + """Represents a try job results for a check flake try job.""" |
| + # A list of dict containing results and urls of each try job for check_flake. |
| + flake_results = ndb.JsonProperty(indexed=False, compressed=True) |
|
stgao
2016/12/16 23:41:05
How this will exactly look like?
lijeffrey
2016/12/17 02:45:43
Done.
|
| + |
| + @staticmethod |
| + def _CreateTryJobId(master_name, builder_name, build_number, step_name, |
|
stgao
2016/12/16 23:41:05
What's build number here? Why we don't need the re
lijeffrey
2016/12/17 02:45:43
Done.
|
| + test_name): # pragma: no cover |
| + encoded_test_name = base64.urlsafe_b64encode(test_name) |
| + return '%s/%s/%s/%s/%s' % ( |
| + master_name, builder_name, build_number, step_name, encoded_test_name) |
| + |
| + @staticmethod |
| + def _CreateKey(master_name, builder_name, build_number, step_name, |
| + test_name): # pragma: no cover |
| + return ndb.Key( |
| + 'FlakeTryJob', FlakeTryJob._CreateTryJobId( |
| + master_name, builder_name, build_number, step_name, test_name)) |
| + |
| + # Arguments number differs from overridden method - pylint: disable=W0221 |
| + @staticmethod |
| + def Create(master_name, builder_name, build_number, step_name, test_name): |
| + flake_try_job = FlakeTryJob( |
| + key=FlakeTryJob._CreateKey(master_name, builder_name, build_number, |
| + step_name, test_name)) |
| + flake_try_job.flake_results = flake_try_job.flake_results or [] |
| + flake_try_job.try_job_ids = flake_try_job.try_job_ids or [] |
| + return flake_try_job |
| + |
| + # Arguments number differs from overridden method - pylint: disable=W0221 |
| + @staticmethod |
| + def Get(master_name, builder_name, build_number, step_name, test_name): |
| + return FlakeTryJob._CreateKey( |
| + master_name, builder_name, build_number, step_name, test_name).get() |