X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fholding.py;h=221a25775a2832bcbea206ad18ffb7e9700687c3;hb=27e00376e81d1c37ff327ee0d39670b266418869;hp=b637738a5af73d86f1b978137727407d7d9bcf5c;hpb=b8d7ece580cbfb35624fe493938edcb0ae921b15;p=dak.git diff --git a/daklib/holding.py b/daklib/holding.py index b637738a..221a2577 100644 --- a/daklib/holding.py +++ b/daklib/holding.py @@ -45,7 +45,13 @@ class Holding(object): self.initialised = True self.in_holding = {} - self.holding_dir = Config()["Dir::Queue::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) @@ -54,7 +60,7 @@ class Holding(object): try: fd = os.open(dest, os.O_RDWR | os.O_CREAT | os.O_EXCL, 0640) os.close(fd) - except OSError, e: + except OSError as e: # Shouldn't happen, but will if, for example, someone lists a # file twice in the .changes. if e.errno == EEXIST: @@ -62,7 +68,7 @@ class Holding(object): try: shutil.copy(filename, dest) - except IOError, e: + except IOError as e: # In either case (ENOENT or EACCES) we want to remove the # O_CREAT | O_EXCLed ghost file, so add the file to the list # of 'in holding' even if it's not the real file.