return a new path by appending all 'args' as path
components. if abs=1 is used restart from root if any
of the args is an absolute path.
def join(self, *args, **kwargs):
origin: path.local
where:
function source:
def join(self, *args, **kwargs):
""" return a new path by appending all 'args' as path
components. if abs=1 is used restart from root if any
of the args is an absolute path.
"""
if not args:
return self
strpath = self.strpath
sep = self.sep
strargs = [str(x) for x in args]
if kwargs.get('abs', 0):
for i in range(len(strargs)-1, -1, -1):
if os.path.isabs(strargs[i]):
strpath = strargs[i]
strargs = strargs[i+1:]
break
for arg in strargs:
arg = arg.strip(sep)
if py.std.sys.platform == 'win32':
# allow unix style paths even on windows.
arg = arg.strip('/')
arg = arg.replace('/', sep)
if arg:
if not strpath.endswith(sep):
strpath += sep
strpath += arg
obj = self.new()
obj.strpath = strpath
return obj
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/apigen/rest/genrest.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py
called in /home/johnny/projects/merlinux/py/dist/py/path/common.py
called in /home/johnny/projects/merlinux/py/dist/py/path/local/local.py