"Fossies" - the Fresh Open Source Software Archive

Member "tacker-2.0.0/tacker/tests/uuidsentinel.py" (16 Oct 2019, 1091 Bytes) of package /linux/misc/openstack/tacker-2.0.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 # Copyright 2019 NTT DATA
    2 # All Rights Reserved.
    3 #
    4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
    5 # not use this file except in compliance with the License. You may obtain
    6 # a copy of the License at
    7 #
    8 #      http://www.apache.org/licenses/LICENSE-2.0
    9 #
   10 # Unless required by applicable law or agreed to in writing, software
   11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   13 # License for the specific language governing permissions and limitations
   14 # under the License.
   15 
   16 import sys
   17 
   18 
   19 class UUIDSentinels(object):
   20     def __init__(self):
   21         from oslo_utils import uuidutils
   22         self._uuid_module = uuidutils
   23         self._sentinels = {}
   24 
   25     def __getattr__(self, name):
   26         if name.startswith('_'):
   27             raise ValueError('Sentinels must not start with _')
   28         if name not in self._sentinels:
   29             self._sentinels[name] = self._uuid_module.generate_uuid()
   30         return self._sentinels[name]
   31 
   32 
   33 sys.modules[__name__] = UUIDSentinels()