Source code for smartrpyc.utils

"""
Utilities
"""

import os
import tempfile


[docs]def lazy_property(fn): attr_name = '_lazy_' + fn.__name__ def getter(self): if not hasattr(self, attr_name): setattr(self, attr_name, fn(self)) return getattr(self, attr_name) def setter(self, value): setattr(self, attr_name, value) def deleter(self): delattr(self, attr_name) return property(fget=getter, fset=setter, fdel=deleter, doc=fn.__doc__)
[docs]def get_random_ipc_socket(): with tempfile.NamedTemporaryFile(delete=False, suffix='.sock') as s: os.unlink(s.name) return 'ipc://{0}'.format(s.name)