]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/holding.py
Prefer the "Borg" pattern over the GoF singleton pattern.
[dak.git] / daklib / holding.py
index 0c472d120f6b07b256cfc1af065aca7a753526dd..b637738a5af73d86f1b978137727407d7d9bcf5c 100755 (executable)
@@ -30,19 +30,22 @@ import os
 from errno import ENOENT, EEXIST, EACCES
 import shutil
 
-from singleton import Singleton
 from config import Config
 from utils import fubar
 
 ###############################################################################
 
-class Holding(Singleton):
+class Holding(object):
+    __shared_state = {}
+
     def __init__(self, *args, **kwargs):
-        super(Holding, self).__init__(*args, **kwargs)
+        self.__dict__ = self.__shared_state
 
-    def _startup(self):
-        self.in_holding = {}
-        self.holding_dir = Config()["Dir::Queue::Holding"]
+        if not getattr(self, 'initialised', False):
+            self.initialised = True
+
+            self.in_holding = {}
+            self.holding_dir = Config()["Dir::Queue::Holding"]
 
     def copy_to_holding(self, filename):
         base_filename = os.path.basename(filename)