aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/project/boost/download.py
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2021-03-14 11:01:39 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2021-03-14 14:53:06 +0300
commit8ceaf795d891b75fead6893c8efe8d999b7ff551 (patch)
tree9b2180082b034141a81bd227df86fa3c5ca31043 /project/boost/download.py
parentworkflows/ci_appveyor: create C:\projects before caching (diff)
downloadcmake-common-8ceaf795d891b75fead6893c8efe8d999b7ff551.tar.gz
cmake-common-8ceaf795d891b75fead6893c8efe8d999b7ff551.zip
project.boost.download: create missing directories
Diffstat (limited to 'project/boost/download.py')
-rw-r--r--project/boost/download.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/project/boost/download.py b/project/boost/download.py
index ca113a6..a065dab 100644
--- a/project/boost/download.py
+++ b/project/boost/download.py
@@ -26,7 +26,7 @@ import urllib.request
from project.boost.archive import Archive, PermanentStorage, TemporaryStorage
from project.boost.version import Version
-from project.utils import normalize_path, retry, setup_logging
+from project.utils import normalize_path, mkdir_parent, retry, setup_logging
@retry(urllib.request.URLError)
@@ -76,11 +76,17 @@ class DownloadParameters:
else:
unpack_dir = cache_dir
- self.version = version
- self.unpack_dir = normalize_path(unpack_dir)
- self.storage = TemporaryStorage(unpack_dir)
+ unpack_dir = normalize_path(unpack_dir)
+ mkdir_parent(unpack_dir)
if cache_dir is not None:
cache_dir = normalize_path(cache_dir)
+ mkdir_parent(cache_dir)
+
+ self.version = version
+ self.unpack_dir = unpack_dir
+ if cache_dir is None:
+ self.storage = TemporaryStorage(unpack_dir)
+ else:
self.storage = PermanentStorage(cache_dir)
self.dest_path = dest_path