From eddcaa4d9e8847ce3703f61cdbd2a5b12c87b055 Mon Sep 17 00:00:00 2001 From: kamo-naoyuki Date: Thu, 10 Jun 2021 10:54:38 +0900 Subject: [PATCH] fallback when not having write permission --- espnet_model_zoo/downloader.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/espnet_model_zoo/downloader.py b/espnet_model_zoo/downloader.py index 85df2d7..451457f 100644 --- a/espnet_model_zoo/downloader.py +++ b/espnet_model_zoo/downloader.py @@ -1,6 +1,7 @@ import argparse from distutils.util import strtobool import hashlib +import os from pathlib import Path import re import shutil @@ -90,7 +91,11 @@ class ModelDownloader: def __init__(self, cachedir: Union[Path, str] = None): if cachedir is None: + # The default path is the directory of this module cachedir = Path(__file__).parent + # If not having write permission, fallback to homedir + if not os.access(cachedir, os.W_OK): + cachedir = Path.home() / ".cache" / "espnet_model_zoo" else: cachedir = Path(cachedir).expanduser().absolute() cachedir.mkdir(parents=True, exist_ok=True)