diff options
author | Sayamindu Dasgupta <sayamindu@gmail.com> | 2009-10-27 18:11:05 (GMT) |
---|---|---|
committer | Sayamindu Dasgupta <sayamindu@gmail.com> | 2009-10-27 18:11:05 (GMT) |
commit | f6bcbc57b4599341f8fde3c22ab7c7857fa19dea (patch) | |
tree | 5c6a010f2e5392b242d8027bff714c1a56c417ef | |
parent | 2d47184a285ecbdbaa7f09157a99c47779f2464f (diff) |
Assert if LanguageNames class is initialized more than once
-rw-r--r-- | languagenames.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/languagenames.py b/languagenames.py index 5d66889..edeb382 100644 --- a/languagenames.py +++ b/languagenames.py @@ -20,10 +20,16 @@ import libxml2 _ISO_639_XML_PATH = '/usr/share/xml/iso-codes/iso_639.xml' - +def singleton(object, instantiated=[]): + # From http://norvig.com/python-iaq.html + "Raise an exception if an object of this class has been instantiated before." + assert object.__class__ not in instantiated, \ + "%s is a Singleton class but is already instantiated" % object.__class__ + instantiated.append(object.__class__) class LanguageNames(object): def __init__(self): + singleton(self) try: self._xmldoc = libxml2.parseFile('/usr/share/xml/iso-codes/iso_639.xml') except libxml2.parserError: |