# Copyright (c) 2014 OpenStack Foundation # # 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. from collections import abc import uuid def val_to_py(val): """Convert a json ovsdb return value to native python object""" if isinstance(val, abc.Sequence) and len(val) == 2: if val[0] == "uuid": return uuid.UUID(val[1]) if val[0] == "set": return [val_to_py(x) for x in val[1]] if val[0] == "map": return {val_to_py(x): val_to_py(y) for x, y in val[1]} return val