本文整理汇总了Python中ion.services.sa.observatory.observatory_util.ObservatoryUtil.get_site_data_products方法的典型用法代码示例。如果您正苦于以下问题:Python ObservatoryUtil.get_site_data_products方法的具体用法?Python ObservatoryUtil.get_site_data_products怎么用?Python ObservatoryUtil.get_site_data_products使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ion.services.sa.observatory.observatory_util.ObservatoryUtil
的用法示例。
在下文中一共展示了ObservatoryUtil.get_site_data_products方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestObservatoryUtil
# 需要导入模块: from ion.services.sa.observatory.observatory_util import ObservatoryUtil [as 别名]
# 或者: from ion.services.sa.observatory.observatory_util.ObservatoryUtil import get_site_data_products [as 别名]
#.........这里部分代码省略.........
status_rollups = self.obs_util.get_status_roll_ups('IS_1', RT.InstrumentSite)
self.assertEquals(len(status_rollups), 6)
self.assertIn('IS_1', status_rollups)
self.assertIn('ID_1', status_rollups)
self._assert_status(status_rollups, 'IS_1')
self._assert_status(status_rollups, 'ID_1')
status_rollups = self.obs_util.get_status_roll_ups('PS_1', RT.PlatformSite)
self.assertEquals(len(status_rollups), 6)
self.assertIn('PS_1', status_rollups)
self.assertIn('PD_1', status_rollups)
self.assertIn('IS_1', status_rollups)
self.assertIn('ID_1', status_rollups)
self._assert_status(status_rollups, 'PS_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'PD_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'IS_1')
self._assert_status(status_rollups, 'ID_1')
status_rollups = self.obs_util.get_status_roll_ups('Sub_1', RT.Subsite)
self.assertIn('Sub_1', status_rollups)
self.assertIn('PS_1', status_rollups)
self.assertIn('PD_1', status_rollups)
self.assertIn('IS_1', status_rollups)
self.assertIn('ID_1', status_rollups)
self._assert_status(status_rollups, 'Sub_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'PS_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'PD_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'IS_1')
self._assert_status(status_rollups, 'ID_1')
status_rollups = self.obs_util.get_status_roll_ups('Obs_1', RT.Observatory)
self.assertIn('Obs_1', status_rollups)
self.assertIn('Sub_1', status_rollups)
self.assertIn('PS_1', status_rollups)
self.assertIn('PD_1', status_rollups)
self.assertIn('IS_1', status_rollups)
self.assertIn('ID_1', status_rollups)
self._assert_status(status_rollups, 'Obs_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'Sub_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'PS_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'PD_1', agg=DeviceStatusType.STATUS_WARNING, power=DeviceStatusType.STATUS_WARNING, comms=DeviceStatusType.STATUS_WARNING)
self._assert_status(status_rollups, 'IS_1')
self._assert_status(status_rollups, 'ID_1')
def _assert_status(self, status_rollups, res_id=None, agg=DeviceStatusType.STATUS_OK, loc=DeviceStatusType.STATUS_OK,
data=DeviceStatusType.STATUS_OK, comms=DeviceStatusType.STATUS_OK, power=DeviceStatusType.STATUS_OK):
res_status = status_rollups[res_id] if res_id else status_rollups
self.assertEquals(len(res_status), 5)
# #self.assertEquals(res_status['agg'], agg)
# self.assertEquals(res_status['loc'], loc)
# self.assertEquals(res_status['data'], data)
# self.assertEquals(res_status['comms'], comms)
# self.assertEquals(res_status['power'], power)
res_list1 = [
dict(rt='DataProduct', _id='DP_1', attr={}),
dict(rt='DataProduct', _id='DP_2', attr={}),
dict(rt='DataProduct', _id='DP_3', attr={}),
dict(rt='DataProduct', _id='DP_4', attr={}),
dict(rt='DataProduct', _id='DP_5', attr={}),
]
assoc_list3 = [
['DP_1', 'hasSource', 'ID_1'],
['DP_2', 'hasSource', 'ID_1'],
['DP_3', 'hasSource', 'ID_1'],
['DP_3', 'hasSource', 'PD_1'],
['DP_4', 'hasSource', 'PD_1'],
['DP_5', 'hasSource', 'PD_1'],
]
def test_get_device_data_products(self):
self.mu.load_mock_resources(self.res_list + self.res_list1)
self.mu.load_mock_associations(self.assoc_list + self.assoc_list1 + self.assoc_list2 + self.assoc_list3)
self.mu.assign_mockres_find_objects(filter_predicate="hasResource")
self.obs_util = ObservatoryUtil(self.process_mock, self.container_mock)
res_dict = self.obs_util.get_site_data_products('Obs_1', RT.Observatory)
self.assertGreaterEqual(len(res_dict), 6)
self.assertIsNone(res_dict['data_product_resources'])
self.assertIn('ID_1', res_dict['device_data_products'])
self.assertEquals(len(res_dict['device_data_products']['ID_1']), 3)
self.assertIn('DP_1', res_dict['device_data_products']['ID_1'])
self.assertIn('PD_1', res_dict['device_data_products'])
self.assertEquals(len(res_dict['device_data_products']['PD_1']), 3)
res_dict = self.obs_util.get_site_data_products('PS_1', RT.PlatformSite)
self.assertEquals(len(res_dict['device_data_products']['ID_1']), 3)
self.assertIn('ID_1', res_dict['device_data_products'])
self.assertIn('DP_1', res_dict['device_data_products']['ID_1'])
self.assertIn('PD_1', res_dict['device_data_products'])
self.assertEquals(len(res_dict['device_data_products']['PD_1']), 3)
res_dict = self.obs_util.get_site_data_products('Org_1', RT.Org)
self.assertIn('DP_1', res_dict['device_data_products']['ID_1'])
res_dict = self.obs_util.get_site_data_products('PS_1', RT.PlatformSite, include_data_products=True)
self.assertIsNotNone(res_dict['data_product_resources'])
self.assertIn('DP_1', res_dict['data_product_resources'])
示例2: TestObservatoryUtil
# 需要导入模块: from ion.services.sa.observatory.observatory_util import ObservatoryUtil [as 别名]
# 或者: from ion.services.sa.observatory.observatory_util.ObservatoryUtil import get_site_data_products [as 别名]
#.........这里部分代码省略.........
self.obs_util = ObservatoryUtil(self.process_mock, self.container_mock)
site_devices = self.obs_util.get_site_devices(['Sub_1', 'PS_1', 'IS_1'])
self.assertEquals(len(site_devices), 3)
self.assertEquals(site_devices['Sub_1'], [])
self.assertEquals(site_devices['IS_1'], [('InstrumentSite', 'ID_1', 'InstrumentDevice')])
def test_get_child_devices(self):
self.mu.load_mock_resources(self.res_list)
self.mu.load_mock_associations(self.assoc_list2)
self.obs_util = ObservatoryUtil(self.process_mock, self.container_mock)
child_devices = self.obs_util.get_child_devices('PD_1')
self.assertEquals(len(child_devices), 2)
self.assertEquals(child_devices['PD_1'][0][1], 'ID_1')
child_devices = self.obs_util.get_child_devices('ID_1')
self.assertEquals(len(child_devices), 1)
self.assertEquals(child_devices['ID_1'], [])
child_devices = self.obs_util.get_child_devices('Sub_1')
self.assertEquals(len(child_devices), 1)
self.assertEquals(child_devices['Sub_1'], [])
child_devices = self.obs_util.get_child_devices('XXX')
self.assertEquals(len(child_devices), 1)
def test_get_device_data_products(self):
self.mu.load_mock_resources(self.res_list + self.res_list1)
self.mu.load_mock_associations(self.assoc_list + self.assoc_list1 + self.assoc_list2 + self.assoc_list3)
self.mu.assign_mockres_find_objects(filter_predicate="hasResource")
self.obs_util = ObservatoryUtil(self.process_mock, self.container_mock)
res_dict = self.obs_util.get_site_data_products('Obs_1', RT.Observatory)
self.assertGreaterEqual(len(res_dict), 6)
self.assertIsNone(res_dict['data_product_resources'])
self.assertIn('ID_1', res_dict['device_data_products'])
self.assertEquals(len(res_dict['device_data_products']['ID_1']), 3)
self.assertIn('DP_1', res_dict['device_data_products']['ID_1'])
self.assertIn('PD_1', res_dict['device_data_products'])
self.assertEquals(len(res_dict['device_data_products']['PD_1']), 3)
res_dict = self.obs_util.get_site_data_products('PS_1', RT.PlatformSite)
self.assertEquals(len(res_dict['device_data_products']['ID_1']), 3)
self.assertIn('ID_1', res_dict['device_data_products'])
self.assertIn('DP_1', res_dict['device_data_products']['ID_1'])
self.assertIn('PD_1', res_dict['device_data_products'])
self.assertEquals(len(res_dict['device_data_products']['PD_1']), 3)
res_dict = self.obs_util.get_site_data_products('Org_1', RT.Org)
self.assertIn('DP_1', res_dict['device_data_products']['ID_1'])
res_dict = self.obs_util.get_site_data_products('PS_1', RT.PlatformSite, include_data_products=True)
self.assertIsNotNone(res_dict['data_product_resources'])
self.assertIn('DP_1', res_dict['data_product_resources'])
#import pprint
#pprint.pprint(res_dict)
status_by_device_1 = {
"ID_1": _devstat("ID_1", DST.STATUS_OK, DST.STATUS_OK, DST.STATUS_OK, DST.STATUS_OK),
"PD_1": _devstat("PD_1", DST.STATUS_OK, DST.STATUS_OK, DST.STATUS_OK, DST.STATUS_OK),
}
status_by_device_2 = {
"ID_1": _devstat("ID_1", DST.STATUS_WARNING, DST.STATUS_OK, DST.STATUS_OK, DST.STATUS_OK),
示例3: ObservatoryManagementService
# 需要导入模块: from ion.services.sa.observatory.observatory_util import ObservatoryUtil [as 别名]
# 或者: from ion.services.sa.observatory.observatory_util.ObservatoryUtil import get_site_data_products [as 别名]
#.........这里部分代码省略.........
org_id, site_id = None, None
if parent_resource.type_ == RT.Org:
org_id = parent_resource_id
elif RT.Site in parent_resource._get_extends():
site_id = parent_resource_id
result_dict = {}
if include_status:
status_rollups = self.outil.get_status_roll_ups(parent_resource_id, parent_resource.type_, include_structure=True)
struct_dict = status_rollups.pop("_system") if "_system" in status_rollups else {}
result_dict["site_resources"] = struct_dict.get("sites", {})
result_dict["site_children"] = struct_dict.get("ancestors", {})
if include_devices:
site_devices = struct_dict.get("devices", {})
result_dict["site_devices"] = site_devices
device_ids = [tuple_list[0][1] for tuple_list in site_devices.values() if tuple_list]
device_objs = self.RR.read_mult(device_ids)
result_dict["device_resources"] = dict(zip(device_ids, device_objs))
result_dict["site_status"] = status_rollups
else:
site_resources, site_children = self.outil.get_child_sites(site_id, org_id, include_parents=True, id_only=False)
result_dict["site_resources"] = site_resources
result_dict["site_children"] = site_children
return result_dict
def find_site_data_products(self, parent_resource_id='', include_sites=False, include_devices=False,
include_data_products=False):
if not parent_resource_id:
raise BadRequest("Must provide a parent parent_resource_id")
res_dict = self.outil.get_site_data_products(parent_resource_id, include_sites=include_sites,
include_devices=include_devices,
include_data_products=include_data_products)
return res_dict
############################
#
# EXTENDED RESOURCES
#
############################
def _get_site_extension(self, site_id='', ext_associations=None, ext_exclude=None, user_id=''):
"""Returns an InstrumentDeviceExtension object containing additional related information
@param site_id str
@param ext_associations dict
@param ext_exclude list
@retval observatory ObservatoryExtension
@throws BadRequest A parameter is missing
@throws NotFound An object with the specified observatory_id does not exist
"""
if not site_id:
raise BadRequest("The site_id parameter is empty")
extended_resource_handler = ExtendedResourceContainer(self)
extended_site = extended_resource_handler.create_extended_resource_container(
extended_resource_type=OT.SiteExtension,
resource_id=site_id,