parser = ParserBase()
_globber = PathGlobber
- def __init__(self, arg, *args):
- paths = [arg]
- paths.extend(args)
- for path in paths:
- if not isinstance(path, str):
+ def __init__(self, *args):
+ for arg in args:
+ if not isinstance(arg, str):
raise TypeError(
- f"path should be a str, not {type(path).__name__!r}")
- self._raw_paths = paths
+ f"argument should be a str, not {type(arg).__name__!r}")
+ self._raw_paths = list(args)
self._resolving = False
def with_segments(self, *pathsegments):
raise ValueError(f"'..' segment in {str(other)!r} cannot be walked")
else:
parts0.append('..')
- return self.with_segments('', *reversed(parts0))
+ return self.with_segments(*reversed(parts0))
def is_relative_to(self, other):
"""Return True if the path is relative to another path or False.
# enable users to replace the implementation of 'absolute()' in a
# subclass and benefit from the new behaviour here. This works because
# os.path.abspath('.') == os.getcwd().
- return cls('').absolute()
+ return cls().absolute()
def expanduser(self):
""" Return a new path with expanded ~ and ~user constructs