diff --git a/fs_storage/models/fs_storage.py b/fs_storage/models/fs_storage.py index 2c4ee8282f..820a0f7e31 100644 --- a/fs_storage/models/fs_storage.py +++ b/fs_storage/models/fs_storage.py @@ -10,6 +10,7 @@ import os.path import re import warnings +from pathlib import Path from typing import AnyStr import fsspec @@ -518,3 +519,10 @@ def _get_root_filesystem(self): while hasattr(fs, "fs"): fs = fs.fs return fs + + @api.model + def get_relative_path(self, absolute_path, root_path): + path = Path(absolute_path) + if path.is_relative_to(root_path): + return path.relative_to(root_path).as_posix() + return absolute_path