summaryrefslogtreecommitdiffstats
path: root/gae/webapp
diff options
context:
space:
mode:
authorJongmok Hong <jongmok@google.com>2018-09-05 19:03:00 +0900
committerJongmok Hong <jongmok@google.com>2018-09-06 17:09:24 +0900
commit0f4a2420cdda7a1e9da352522eb267bdb620913a (patch)
tree491286a79a619988d2e214c3186a74cb6e0ab762 /gae/webapp
parentff618fff8cf97e0e5431eaa1382b5f16b7ac469c (diff)
downloadplatform_test_vti_test_serving-0f4a2420cdda7a1e9da352522eb267bdb620913a.tar.gz
platform_test_vti_test_serving-0f4a2420cdda7a1e9da352522eb267bdb620913a.tar.bz2
platform_test_vti_test_serving-0f4a2420cdda7a1e9da352522eb267bdb620913a.zip
Add statistics table in job page.
Test: go/vtslab-schedule-dev Bug: 74575555 Change-Id: I8156f1e77608ee032c834e9c466392b2f36d2b89
Diffstat (limited to 'gae/webapp')
-rw-r--r--gae/webapp/src/endpoint/endpoint_base.py14
-rw-r--r--gae/webapp/src/proto/model.py4
2 files changed, 17 insertions, 1 deletions
diff --git a/gae/webapp/src/endpoint/endpoint_base.py b/gae/webapp/src/endpoint/endpoint_base.py
index acf13ae..0e429dd 100644
--- a/gae/webapp/src/endpoint/endpoint_base.py
+++ b/gae/webapp/src/endpoint/endpoint_base.py
@@ -12,6 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import datetime
import inspect
import logging
import json
@@ -203,6 +204,19 @@ class EndpointBase(remote.Service):
else:
logging.debug("Empty repeated list cannot be queried.")
empty_repeated_field.append(value)
+ elif isinstance(metaclass._properties[property_key],
+ ndb.DateTimeProperty):
+ if method == Status.FILTER_METHOD[Status.FILTER_LessThan]:
+ query = query.filter(
+ getattr(metaclass, property_key) < datetime.datetime.
+ now() - datetime.timedelta(hours=int(value)))
+ elif method == Status.FILTER_METHOD[Status.FILTER_GreaterThan]:
+ query = query.filter(
+ getattr(metaclass, property_key) > datetime.datetime.
+ now() - datetime.timedelta(hours=int(value)))
+ else:
+ logging.debug("DateTimeProperty only allows <=(less than) "
+ "and >=(greater than) operation.")
else:
if method == Status.FILTER_METHOD[Status.FILTER_EqualTo]:
query = query.filter(
diff --git a/gae/webapp/src/proto/model.py b/gae/webapp/src/proto/model.py
index 25af6dc..352ee56 100644
--- a/gae/webapp/src/proto/model.py
+++ b/gae/webapp/src/proto/model.py
@@ -297,7 +297,7 @@ class JobModel(ndb.Model):
class JobMessage(messages.Message):
"""A message for representing an individual job entry."""
- # Next ID = 35
+ # Next ID = 38
test_type = messages.IntegerField(29)
hostname = messages.StringField(1)
@@ -347,6 +347,8 @@ class JobMessage(messages.Message):
report_persistent_url = messages.StringField(35, repeated=True)
report_reference_url = messages.StringField(36, repeated=True)
+ timestamp = message_types.DateTimeField(37)
+
class ReturnCodeMessage(messages.Enum):
"""Enum for default return code."""