From 35d9422f1a5eebbe8d9a88dbc73cb61d0eb9bb3c Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Fri, 5 Feb 2010 14:31:43 +0100 Subject: [PATCH] [entropy.server] when downloading data, make sure download dir exists --- libraries/entropy/server/interfaces/mirrors.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/entropy/server/interfaces/mirrors.py b/libraries/entropy/server/interfaces/mirrors.py index a14785b55..844f8955a 100644 --- a/libraries/entropy/server/interfaces/mirrors.py +++ b/libraries/entropy/server/interfaces/mirrors.py @@ -682,7 +682,7 @@ class Server(ServerNoticeBoardMixin): if (not os.path.isdir(download_dir)) and \ (not os.access(download_dir, os.R_OK)): - os.makedirs(download_dir) + self.Entropy._ensure_dir_path(download_dir) rc_download = handler.download(remote_path, download_path) if not rc_download: @@ -2088,6 +2088,8 @@ class Server(ServerNoticeBoardMixin): return 0, set(), set() if download_latest: + # close all the currently open repos + self.Entropy.close_server_repositories() download_uri = download_latest[0] download_errors, fine_uris, broken_uris = self._download_database( [download_uri], repo = repo) @@ -2827,6 +2829,8 @@ class Server(ServerNoticeBoardMixin): local_basedir = self.Entropy.complete_local_package_path(rel_path, repo = repo) + if not os.path.isdir(local_basedir): + self.Entropy._ensure_dir_path(local_basedir) downloader = self.TransceiverServerHandler( self.Entropy, [uri], myqueue,