restructure osmclient
[osm/osmclient.git] / osmclient / common / utils.py
1 # Copyright 2017 Sandvine
2 #
3 # All Rights Reserved.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License. You may obtain
7 # a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 # License for the specific language governing permissions and limitations
15 # under the License.
16
17 import time
18
19
20 def wait_for_value(func, result=True, wait_time=10, catch_exception = None ):
21 maxtime = time.time() + wait_time
22 while time.time() < maxtime:
23 try:
24 if func() == result:
25 return True
26 except catch_exception as inst:
27 pass
28 time.sleep(1)
29 try:
30 return func() == result
31 except catch_exception as inst:
32 return False