diff --git a/mmcv/fileio/file_client.py b/mmcv/fileio/file_client.py index 629e9088e..809661b5c 100644 --- a/mmcv/fileio/file_client.py +++ b/mmcv/fileio/file_client.py @@ -97,6 +97,8 @@ class PetrelBackend(BaseStorageBackend): ``filepath`` will be replaced by ``dst``. Default: None. enable_mc (bool, optional): Whether to enable memcached support. Default: True. + conf_path (str, optional): Config path of Petrel client. Default: None. + `New in version 1.7.1`. Examples: >>> filepath1 = 's3://path/of/file' @@ -108,14 +110,15 @@ class PetrelBackend(BaseStorageBackend): def __init__(self, path_mapping: Optional[dict] = None, - enable_mc: bool = True): + enable_mc: bool = True, + conf_path: str = None): try: from petrel_client import client except ImportError: raise ImportError('Please install petrel_client to enable ' 'PetrelBackend.') - self._client = client.Client(enable_mc=enable_mc) + self._client = client.Client(conf_path=conf_path, enable_mc=enable_mc) assert isinstance(path_mapping, dict) or path_mapping is None self.path_mapping = path_mapping diff --git a/tests/test_fileclient.py b/tests/test_fileclient.py index 292779f36..64ea04116 100644 --- a/tests/test_fileclient.py +++ b/tests/test_fileclient.py @@ -78,9 +78,13 @@ class MockS3Client: class MockPetrelClient: - def __init__(self, enable_mc=True, enable_multi_cluster=False): + def __init__(self, + enable_mc=True, + enable_multi_cluster=False, + conf_path=None): self.enable_mc = enable_mc self.enable_multi_cluster = enable_multi_cluster + self.conf_path = conf_path def Get(self, filepath): with open(filepath, 'rb') as f: