コード例 #1
0
    def _abspath(self, first_is_basedir: bool = False) -> str:
        """ Return the absolute path of the current crumb path.
        Parameters
        ----------
        first_is_basedir: bool
            If True and the current crumb path starts with a crumb argument and first_is_basedir,
            the first argument will be replaced by the absolute path to the current dir,
            otherwise the absolute path to the current dir will be added as a prefix.

        Returns
        -------
        abspath: str
        """
        if os.path.isabs(self._path):
            return self._path

        splits = self._path.split(os.path.sep)
        basedir = [os.path.abspath(os.path.curdir)]

        if _is_crumb_arg(splits[0]):
            if first_is_basedir:
                splits.pop(0)

        basedir.extend(splits)
        return os.path.sep.join(basedir)
コード例 #2
0
def test_split(crumb):
    splt = crumb.split()
    for s in splt:
        if os.path.isdir(s):
            assert os.path.exists(s)
        else:
            assert _is_crumb_arg(s) or isinstance(s, str)
コード例 #3
0
ファイル: test_crumb.py プロジェクト: alexsavio/hansel
def test_split(crumb):
    splt = crumb.split()
    for s in splt:
        if op.isdir(s):
            assert op.exists(s)
        else:
            assert _is_crumb_arg(s) or isinstance(s, string_types)
コード例 #4
0
def test_arg_name():
    assert not _is_crumb_arg(Path(os.path.expanduser('~')))
コード例 #5
0
ファイル: test_crumb.py プロジェクト: alexsavio/hansel
def test_arg_name():
    assert not _is_crumb_arg(Path(op.expanduser('~')))
コード例 #6
0
def is_crumb_arg(crumb_arg):
    """ Return True if `crumb_arg` is a well formed crumb argument, i.e.,
    is a string that starts with `start_sym` and ends with `end_sym`.
    False otherwise.
    """
    return _is_crumb_arg(crumb_arg)