X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fholding.py;h=2f36a696313badb4aad725685f1c1362df6c2765;hb=db2d829cce8f0dd8aadb6af5e6258ab4fced871d;hp=0c472d120f6b07b256cfc1af065aca7a753526dd;hpb=1c35448b880358d020e81339657e3435fdda9434;p=dak.git diff --git a/daklib/holding.py b/daklib/holding.py old mode 100755 new mode 100644 index 0c472d12..2f36a696 --- a/daklib/holding.py +++ b/daklib/holding.py @@ -30,19 +30,28 @@ 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::Holding"] + # ftptrainees haven't access to holding, use a temp directory instead + if not os.access(self.holding_dir, os.W_OK): + self.holding_dir = Config()["Dir::TempPath"] + + def chdir_to_holding(self): + os.chdir(self.holding_dir) def copy_to_holding(self, filename): base_filename = os.path.basename(filename)