12cd5a9a0839c7bed8c201c70595f779dbca4607
[osm/MON.git] / policy_module / osm_policy_module / core / singleton.py
1 """Simple singleton class."""
2
3 from __future__ import unicode_literals
4
5
6 class Singleton(object):
7 """Simple singleton class."""
8
9 def __init__(self, decorated):
10 """Initialize singleton instance."""
11 self._decorated = decorated
12
13 def instance(self):
14 """Return singleton instance."""
15 try:
16 return self._instance
17 except AttributeError:
18 self._instance = self._decorated()
19 return self._instance