Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSayamindu Dasgupta <sayamindu@gmail.com>2009-10-27 18:11:05 (GMT)
committer Sayamindu Dasgupta <sayamindu@gmail.com>2009-10-27 18:11:05 (GMT)
commitf6bcbc57b4599341f8fde3c22ab7c7857fa19dea (patch)
tree5c6a010f2e5392b242d8027bff714c1a56c417ef
parent2d47184a285ecbdbaa7f09157a99c47779f2464f (diff)
Assert if LanguageNames class is initialized more than once
-rw-r--r--languagenames.py8
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: