azext_iot/monitor/central_validator/validators/geopoint.py (13 lines of code) (raw):

# coding=utf-8 # -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- def validate(schema, value: dict): required_keys = set(["lat", "lon"]) all_keys = set(["alt", "lat", "lon"]) if not isinstance(value, dict): return False # check that value has all required keys if not set(required_keys).issubset(set(value.keys())): return False # check that value does not have more than expected keys if not set(value.keys()).issubset(all_keys): return False # check that all values are double for val in value.values(): if not isinstance(val, (float, int)): return False return True