Python posixpath.relpath() Examples
The following are 30
code examples of posixpath.relpath().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
posixpath
, or try the search function
.
Example #1
Source File: repository.py From knowledge-repo with Apache License 2.0 | 6 votes |
def dir(self, prefix=None, status=None): if prefix is None or isinstance(prefix, str): prefixes = [prefix] else: prefixes = prefix assert all([prefix is None or isinstance(prefix, str) for prefix in prefixes]), "All path prefixes must be strings." prefixes = [prefix if prefix is None else posixpath.relpath(prefix) for prefix in prefixes] if isinstance(status, str): if status == 'all': status = [self.PostStatus.DRAFT, self.PostStatus.SUBMITTED, self.PostStatus.PUBLISHED, self.PostStatus.UNPUBLISHED] else: raise ValueError('Status alias `{}` not recognised.'.format(status)) if status is not None and not isinstance(status, list): status = [status] elif status is None: status = [self.PostStatus.PUBLISHED] # Use old syntax for "yielding from" to maintain support for python 2 for prefix in prefixes: for path in self._dir(prefix=prefix, statuses=status): yield path
Example #2
Source File: test_posixpath.py From CTFCrackTools with GNU General Public License v3.0 | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #3
Source File: test_posixpath.py From android_universal with MIT License | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #4
Source File: writers.py From forte with Apache License 2.0 | 6 votes |
def _process(self, input_pack: MultiPack): multi_out_dir = os.path.join(self.configs.output_dir, self.multi_base) pack_out_dir = os.path.join(self.configs.output_dir, self.pack_base_out) for pack in input_pack.packs: pack_out = write_pack( pack, pack_out_dir, self.pack_name(pack), self.configs.indent, self.configs.zip_pack, self.configs.overwrite, self.configs.drop_record) self.pack_idx_out.write( f'{pack.meta.pack_id}\t' f'{posixpath.relpath(pack_out, self.configs.output_dir)}\n') multi_out = write_pack( input_pack, multi_out_dir, self.multipack_name(input_pack), self.configs.indent, self.configs.zip_pack, self.configs.overwrite, self.configs.drop_record ) self.multi_idx_out.write( f'{input_pack.meta.pack_id}\t' f'{posixpath.relpath(multi_out, self.configs.output_dir)}\n')
Example #5
Source File: test_posixpath.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #6
Source File: databricks_artifact_repo.py From mlflow with Apache License 2.0 | 6 votes |
def __init__(self, artifact_uri): super(DatabricksArtifactRepository, self).__init__(artifact_uri) if not artifact_uri.startswith('dbfs:/'): raise MlflowException(message='DatabricksArtifactRepository URI must start with dbfs:/', error_code=INVALID_PARAMETER_VALUE) if not is_databricks_acled_artifacts_uri(artifact_uri): raise MlflowException(message=('Artifact URI incorrect. Expected path prefix to be' ' databricks/mlflow-tracking/path/to/artifact/..'), error_code=INVALID_PARAMETER_VALUE) self.run_id = self._extract_run_id(self.artifact_uri) # Fetch the artifact root for the MLflow Run associated with `artifact_uri` and compute # the path of `artifact_uri` relative to the MLflow Run's artifact root # (the `run_relative_artifact_repo_root_path`). All operations performed on this artifact # repository will be performed relative to this computed location artifact_repo_root_path = extract_and_normalize_path(artifact_uri) run_artifact_root_uri = self._get_run_artifact_root(self.run_id) run_artifact_root_path = extract_and_normalize_path(run_artifact_root_uri) run_relative_root_path = posixpath.relpath( path=artifact_repo_root_path, start=run_artifact_root_path ) # If the paths are equal, then use empty string over "./" for ListArtifact compatibility. self.run_relative_artifact_repo_root_path = \ "" if run_artifact_root_path == artifact_repo_root_path else run_relative_root_path
Example #7
Source File: azure_blob_artifact_repo.py From mlflow with Apache License 2.0 | 6 votes |
def list_artifacts(self, path=None): from azure.storage.blob._models import BlobPrefix (container, _, artifact_path) = self.parse_wasbs_uri(self.artifact_uri) container_client = self.client.get_container_client(container) dest_path = artifact_path if path: dest_path = posixpath.join(dest_path, path) infos = [] prefix = dest_path + "/" results = container_client.walk_blobs(name_starts_with=prefix) for r in results: if not r.name.startswith(artifact_path): raise MlflowException( "The name of the listed Azure blob does not begin with the specified" " artifact path. Artifact path: {artifact_path}. Blob name:" " {blob_name}".format(artifact_path=artifact_path, blob_name=r.name)) if isinstance(r, BlobPrefix): # This is a prefix for items in a subdirectory subdir = posixpath.relpath(path=r.name, start=artifact_path) if subdir.endswith("/"): subdir = subdir[:-1] infos.append(FileInfo(subdir, True, None)) else: # Just a plain old blob file_name = posixpath.relpath(path=r.name, start=artifact_path) infos.append(FileInfo(file_name, False, r.size)) return sorted(infos, key=lambda f: f.path)
Example #8
Source File: azure_blob_artifact_repo.py From mlflow with Apache License 2.0 | 6 votes |
def log_artifacts(self, local_dir, artifact_path=None): (container, _, dest_path) = self.parse_wasbs_uri(self.artifact_uri) container_client = self.client.get_container_client(container) if artifact_path: dest_path = posixpath.join(dest_path, artifact_path) local_dir = os.path.abspath(local_dir) for (root, _, filenames) in os.walk(local_dir): upload_path = dest_path if root != local_dir: rel_path = os.path.relpath(root, local_dir) upload_path = posixpath.join(dest_path, rel_path) for f in filenames: remote_file_path = posixpath.join(upload_path, f) local_file_path = os.path.join(root, f) with open(local_file_path, "rb") as file: container_client.upload_blob(remote_file_path, file)
Example #9
Source File: test_posixpath.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #10
Source File: s3boto3.py From django-storages with BSD 3-Clause "New" or "Revised" License | 6 votes |
def listdir(self, name): path = self._normalize_name(self._clean_name(name)) # The path needs to end with a slash, but if the root is empty, leave # it. if path and not path.endswith('/'): path += '/' directories = [] files = [] paginator = self.connection.meta.client.get_paginator('list_objects') pages = paginator.paginate(Bucket=self.bucket_name, Delimiter='/', Prefix=path) for page in pages: for entry in page.get('CommonPrefixes', ()): directories.append(posixpath.relpath(entry['Prefix'], path)) for entry in page.get('Contents', ()): files.append(posixpath.relpath(entry['Key'], path)) return directories, files
Example #11
Source File: utilities.py From king-phisher with BSD 3-Clause "New" or "Revised" License | 6 votes |
def make_webrelpath(path): """ Forcefully make *path* into a web-suitable relative path. This will strip off leading and trailing directory separators. .. versionadded:: 1.14.0 :param str path: The path to convert into a web-suitable relative path. :return: The converted path. :rtype: str """ if not path.startswith(webpath.sep): path = webpath.sep + path path = webpath.relpath(path, webpath.sep) if path == webpath.curdir: path = '' return path
Example #12
Source File: test_posixpath.py From gcblue with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #13
Source File: test_posixpath.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #14
Source File: test_posixpath.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #15
Source File: system_app.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _RelocateApp(device, package_name, relocate_to): """A context manager that relocates an app while in scope.""" relocation_map = {} system_package_paths = _FindSystemPackagePaths(device, [package_name]) if system_package_paths: relocation_map = { p: posixpath.join(relocate_to, posixpath.relpath(p, '/')) for p in system_package_paths } relocation_dirs = [ posixpath.dirname(d) for _, d in relocation_map.iteritems() ] device.RunShellCommand(['mkdir', '-p'] + relocation_dirs, check_return=True) _MoveApp(device, relocation_map) else: logger.info('No system package "%s"', package_name) try: yield finally: _MoveApp(device, {v: k for k, v in relocation_map.iteritems()})
Example #16
Source File: test_posixpath.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #17
Source File: system_app.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _RelocateApp(device, package_name, relocate_to): """A context manager that relocates an app while in scope.""" relocation_map = {} system_package_paths = _FindSystemPackagePaths(device, [package_name]) if system_package_paths: relocation_map = { p: posixpath.join(relocate_to, posixpath.relpath(p, '/')) for p in system_package_paths } relocation_dirs = [ posixpath.dirname(d) for _, d in relocation_map.iteritems() ] device.RunShellCommand(['mkdir', '-p'] + relocation_dirs, check_return=True) _MoveApp(device, relocation_map) else: logger.info('No system package "%s"', package_name) try: yield finally: _MoveApp(device, {v: k for k, v in relocation_map.iteritems()})
Example #18
Source File: path.py From pyiron with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _get_project_from_path(full_path): """ Split the absolute path in root_path and project_path using the top_path function in Settings() Args: full_path (str): absolute path Returns: str, str: root_path, project_path """ root = Settings().top_path(full_path) if root is not None: pr_path = posixpath.relpath(full_path, root) return root, pr_path else: return None, full_path
Example #19
Source File: system_app.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _RelocateApp(device, package_name, relocate_to): """A context manager that relocates an app while in scope.""" relocation_map = {} system_package_paths = _FindSystemPackagePaths(device, [package_name]) if system_package_paths: relocation_map = { p: posixpath.join(relocate_to, posixpath.relpath(p, '/')) for p in system_package_paths } relocation_dirs = [ posixpath.dirname(d) for _, d in relocation_map.iteritems() ] device.RunShellCommand(['mkdir', '-p'] + relocation_dirs, check_return=True) _MoveApp(device, relocation_map) else: logger.info('No system package "%s"', package_name) try: yield finally: _MoveApp(device, {v: k for k, v in relocation_map.iteritems()})
Example #20
Source File: test_posixpath.py From oss-ftp with MIT License | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #21
Source File: test_posixpath.py From BinderFilter with MIT License | 6 votes |
def test_relpath(self): (real_getcwd, os.getcwd) = (os.getcwd, lambda: r"/home/user/bar") try: curdir = os.path.split(os.getcwd())[-1] self.assertRaises(ValueError, posixpath.relpath, "") self.assertEqual(posixpath.relpath("a"), "a") self.assertEqual(posixpath.relpath(posixpath.abspath("a")), "a") self.assertEqual(posixpath.relpath("a/b"), "a/b") self.assertEqual(posixpath.relpath("../a/b"), "../a/b") self.assertEqual(posixpath.relpath("a", "../b"), "../"+curdir+"/a") self.assertEqual(posixpath.relpath("a/b", "../c"), "../"+curdir+"/a/b") self.assertEqual(posixpath.relpath("a", "b/c"), "../../a") self.assertEqual(posixpath.relpath("a", "a"), ".") self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x/y/z"), '../../../foo/bar/bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/foo/bar"), 'bat') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/"), 'foo/bar/bat') self.assertEqual(posixpath.relpath("/", "/foo/bar/bat"), '../../..') self.assertEqual(posixpath.relpath("/foo/bar/bat", "/x"), '../foo/bar/bat') self.assertEqual(posixpath.relpath("/x", "/foo/bar/bat"), '../../../x') self.assertEqual(posixpath.relpath("/", "/"), '.') self.assertEqual(posixpath.relpath("/a", "/a"), '.') self.assertEqual(posixpath.relpath("/a/b", "/a/b"), '.') finally: os.getcwd = real_getcwd
Example #22
Source File: __init__.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def get_relative_url(url, other): """ Return given url relative to other. """ if other != '.': # Remove filename from other url if it has one. parts = posixpath.split(other) other = parts[0] if '.' in parts[1] else other relurl = posixpath.relpath(url, other) return relurl + '/' if url.endswith('/') else relurl
Example #23
Source File: packuri.py From lambda-text-extractor with Apache License 2.0 | 5 votes |
def relative_ref(self, baseURI): """ Return string containing relative reference to package item from *baseURI*. E.g. PackURI('/ppt/slideLayouts/slideLayout1.xml') would return '../slideLayouts/slideLayout1.xml' for baseURI '/ppt/slides'. """ # workaround for posixpath bug in 2.6, doesn't generate correct # relative path when *start* (second) parameter is root ('/') if baseURI == '/': relpath = self[1:] else: relpath = posixpath.relpath(self, baseURI) return relpath
Example #24
Source File: test_posixpath.py From android_universal with MIT License | 5 votes |
def test_realpath_relative(self): try: os.symlink(posixpath.relpath(ABSTFN+"1"), ABSTFN) self.assertEqual(realpath(ABSTFN), ABSTFN+"1") finally: support.unlink(ABSTFN)
Example #25
Source File: packuri.py From lambda-text-extractor with Apache License 2.0 | 5 votes |
def relative_ref(self, baseURI): """ Return string containing relative reference to package item from *baseURI*. E.g. PackURI('/ppt/slideLayouts/slideLayout1.xml') would return '../slideLayouts/slideLayout1.xml' for baseURI '/ppt/slides'. """ # workaround for posixpath bug in 2.6, doesn't generate correct # relative path when *start* (second) parameter is root ('/') if baseURI == '/': relpath = self[1:] else: relpath = posixpath.relpath(self, baseURI) return relpath
Example #26
Source File: packuri.py From lambda-text-extractor with Apache License 2.0 | 5 votes |
def relative_ref(self, baseURI): """ Return string containing relative reference to package item from *baseURI*. E.g. PackURI('/ppt/slideLayouts/slideLayout1.xml') would return '../slideLayouts/slideLayout1.xml' for baseURI '/ppt/slides'. """ # workaround for posixpath bug in 2.6, doesn't generate correct # relative path when *start* (second) parameter is root ('/') if baseURI == '/': relpath = self[1:] else: relpath = posixpath.relpath(self, baseURI) return relpath
Example #27
Source File: packuri.py From lambda-text-extractor with Apache License 2.0 | 5 votes |
def relative_ref(self, baseURI): """ Return string containing relative reference to package item from *baseURI*. E.g. PackURI('/ppt/slideLayouts/slideLayout1.xml') would return '../slideLayouts/slideLayout1.xml' for baseURI '/ppt/slides'. """ # workaround for posixpath bug in 2.6, doesn't generate correct # relative path when *start* (second) parameter is root ('/') if baseURI == '/': relpath = self[1:] else: relpath = posixpath.relpath(self, baseURI) return relpath
Example #28
Source File: basepath.py From bfg9000 with BSD 3-Clause "New" or "Revised" License | 5 votes |
def relpath(self, start, prefix='', localize=True): if self.root == Root.absolute: return self.__localize(self.suffix) if localize else self.suffix if self.root != start.root: raise ValueError('source mismatch') rel = posixpath.relpath(self.suffix or posixpath.curdir, start.suffix or posixpath.curdir) if prefix and rel == posixpath.curdir: return prefix result = posixpath.join(prefix, rel) return self.__localize(result) if localize else result
Example #29
Source File: s3_artifact_repo.py From mlflow with Apache License 2.0 | 5 votes |
def list_artifacts(self, path=None): (bucket, artifact_path) = data.parse_s3_uri(self.artifact_uri) dest_path = artifact_path if path: dest_path = posixpath.join(dest_path, path) infos = [] prefix = dest_path + "/" if dest_path else "" s3_client = self._get_s3_client() paginator = s3_client.get_paginator("list_objects_v2") results = paginator.paginate(Bucket=bucket, Prefix=prefix, Delimiter='/') for result in results: # Subdirectories will be listed as "common prefixes" due to the way we made the request for obj in result.get("CommonPrefixes", []): subdir_path = obj.get("Prefix") self._verify_listed_object_contains_artifact_path_prefix( listed_object_path=subdir_path, artifact_path=artifact_path) subdir_rel_path = posixpath.relpath( path=subdir_path, start=artifact_path) if subdir_rel_path.endswith("/"): subdir_rel_path = subdir_rel_path[:-1] infos.append(FileInfo(subdir_rel_path, True, None)) # Objects listed directly will be files for obj in result.get('Contents', []): file_path = obj.get("Key") self._verify_listed_object_contains_artifact_path_prefix( listed_object_path=file_path, artifact_path=artifact_path) file_rel_path = posixpath.relpath(path=file_path, start=artifact_path) file_size = int(obj.get('Size')) infos.append(FileInfo(file_rel_path, False, file_size)) return sorted(infos, key=lambda f: f.path)
Example #30
Source File: test_posixpath.py From android_universal with MIT License | 5 votes |
def test_relpath_bytes(self): (real_getcwdb, os.getcwdb) = (os.getcwdb, lambda: br"/home/user/bar") try: curdir = os.path.split(os.getcwdb())[-1] self.assertRaises(ValueError, posixpath.relpath, b"") self.assertEqual(posixpath.relpath(b"a"), b"a") self.assertEqual(posixpath.relpath(posixpath.abspath(b"a")), b"a") self.assertEqual(posixpath.relpath(b"a/b"), b"a/b") self.assertEqual(posixpath.relpath(b"../a/b"), b"../a/b") self.assertEqual(posixpath.relpath(b"a", b"../b"), b"../"+curdir+b"/a") self.assertEqual(posixpath.relpath(b"a/b", b"../c"), b"../"+curdir+b"/a/b") self.assertEqual(posixpath.relpath(b"a", b"b/c"), b"../../a") self.assertEqual(posixpath.relpath(b"a", b"a"), b".") self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/x/y/z"), b'../../../foo/bar/bat') self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/foo/bar"), b'bat') self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/"), b'foo/bar/bat') self.assertEqual(posixpath.relpath(b"/", b"/foo/bar/bat"), b'../../..') self.assertEqual(posixpath.relpath(b"/foo/bar/bat", b"/x"), b'../foo/bar/bat') self.assertEqual(posixpath.relpath(b"/x", b"/foo/bar/bat"), b'../../../x') self.assertEqual(posixpath.relpath(b"/", b"/"), b'.') self.assertEqual(posixpath.relpath(b"/a", b"/a"), b'.') self.assertEqual(posixpath.relpath(b"/a/b", b"/a/b"), b'.') self.assertRaises(TypeError, posixpath.relpath, b"bytes", "str") self.assertRaises(TypeError, posixpath.relpath, "str", b"bytes") finally: os.getcwdb = real_getcwdb