summaryrefslogtreecommitdiff
path: root/harnesses/host_controller/utils/parser/pb2_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'harnesses/host_controller/utils/parser/pb2_utils.py')
-rw-r--r--harnesses/host_controller/utils/parser/pb2_utils.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/harnesses/host_controller/utils/parser/pb2_utils.py b/harnesses/host_controller/utils/parser/pb2_utils.py
deleted file mode 100644
index af96588..0000000
--- a/harnesses/host_controller/utils/parser/pb2_utils.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# Copyright (C) 2018 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import json
-import logging
-import requests
-
-# timeout seconds for requests
-REQUESTS_TIMEOUT_SECONDS = 60
-
-
-def FillDictAndPost(msg,
- dict_to_fill,
- url,
- headers,
- filters={},
- caller_name=""):
- """Fills up a dict using contents of the pb2 message and uploads it.
-
- Args:
- msg: pb2 msg, containing info about all task schedules.
- dict_to_fill: dict, to be converted into a json object before
- upload.
- url: string, URL for the endpoit API to be called when
- the dict_to_fill fills up.
-
- Returns:
- True if successful, False otherwise.
- """
- terminal = True
- ret = True
- sub_msg_list = []
- for field in msg.DESCRIPTOR.fields:
- if field.type == field.TYPE_MESSAGE:
- terminal = False
- for sub_msg in msg.__getattribute__(field.name):
- # make all the messages to be processed after other attrs,
- # otherwise dict_to_fill would be incomplete.
- sub_msg_list.append(sub_msg)
- else:
- if filters and field.name in filters:
- filtered_key = filters[field.name]
- else:
- filtered_key = field.name
-
- if field.label == field.LABEL_REPEATED:
- dict_to_fill[filtered_key] = list(
- msg.__getattribute__(field.name))
- else:
- dict_to_fill[filtered_key] = msg.__getattribute__(field.name)
-
- for sub_msg in sub_msg_list:
- ret = ret and FillDictAndPost(sub_msg, dict_to_fill, url, headers,
- filters, caller_name)
-
- if terminal:
- try:
- response = requests.post(url, data=json.dumps(dict_to_fill),
- headers=headers,
- timeout=REQUESTS_TIMEOUT_SECONDS)
- except requests.exceptions.Timeout as e:
- logging.exception(e)
- return False
- if response.status_code != requests.codes.ok:
- logging.error("%s error: %s", caller_name, response)
- ret = ret and False
-
- return ret