16 lines
524 B
Python
16 lines
524 B
Python
#This file is part of Tryton. The COPYRIGHT file at the top level of
|
|||
|
|
#this repository contains the full copyright notices and license terms.
|
||
|
|
|
||
|
|
|
||
|
|
class Singleton(type):
|
||
|
|
'''
|
||
|
|
Metaclass for singleton pattern
|
||
|
|
'''
|
||
|
|
def __init__(cls, name, bases, dict):
|
||
|
|
super(Singleton, cls).__init__(name, bases, dict)
|
||
|
|
cls.instance = None
|
||
|
|
|
||
|
|
def __call__(cls, *args, **kwargs):
|
||
|
|
if cls.instance is None:
|
||
|
|
cls.instance = super(Singleton, cls).__call__(*args, **kwargs)
|
||
|
|
return cls.instance
|