jobs/eam-integrations/scripts/api/util/decorators.py (25 lines of code) (raw):
import functools
import time
def wait(secs):
def decorator(func):
def wrapper(*args, **kwargs):
print("sleep....")
time.sleep(secs)
print("...sleep")
return func(*args, **kwargs)
return wrapper
return decorator
def cache_pickle(func):
@functools.wraps(func)
def wrapper_cache_pickle(*args, **kwargs):
import pickle
import os.path
if os.path.isfile(func.__name__):
with open(func.__name__, 'rb') as file_pi:
return pickle.load(file_pi)
else:
value = func(*args, **kwargs)
with open(func.__name__, 'wb') as file_pi:
pickle.dump(value, file_pi)
return value
return wrapper_cache_pickle