laitkor's picture
Upload folder using huggingface_hub
6d63e5b verified
import os
from os import PathLike
from pathlib import Path
from typing import Tuple, Union
from urllib.parse import urlparse
PathOrStr = Union[str, PathLike]
CACHE_DIRECTORY: PathOrStr = Path(
os.getenv("CACHED_PATH_CACHE_ROOT", Path.home() / ".cache" / "cached_path")
)
"""
The default global cache directory.
"""
def _split_cloud_path(url: str, provider: str) -> Tuple[str, str]:
"""Split a full s3 path into the bucket name and path."""
parsed = urlparse(url)
if not parsed.netloc or not parsed.path:
raise ValueError("bad {} path {}".format(provider, url))
bucket_name = parsed.netloc
provider_path = parsed.path
# Remove '/' at beginning of path.
if provider_path.startswith("/"):
provider_path = provider_path[1:]
return bucket_name, provider_path
def set_cache_dir(cache_dir: PathOrStr) -> None:
"""
Set the global default cache directory.
"""
global CACHE_DIRECTORY
CACHE_DIRECTORY = Path(cache_dir)
def get_cache_dir() -> Path:
"""
Get the global default cache directory.
"""
return Path(CACHE_DIRECTORY)