parse_url(remote_url,
name,
pkg,
template_dir=None)
|
|
Sanity check our remote URL
>>> sort_dict(parse_url("ssh://host/path/%(pkg)s", "origin", "package"))
[('base', ''), ('dir', '/path/package'), ('host', 'host'), ('name', 'origin'), ('pkg', 'package'), ('port', None), ('scheme', 'ssh'), ('template-dir', None), ('url', 'ssh://host/path/package')]
>>> sort_dict(parse_url("ssh://host:22/path/repo.git", "origin", "package"))
[('base', ''), ('dir', '/path/repo.git'), ('host', 'host'), ('name', 'origin'), ('pkg', 'package'), ('port', '22'), ('scheme', 'ssh'), ('template-dir', None), ('url', 'ssh://host:22/path/repo.git')]
>>> sort_dict(parse_url("ssh://host:22/~/path/%(pkg)s.git", "origin", "package"))
[('base', '~/'), ('dir', 'path/package.git'), ('host', 'host'), ('name', 'origin'), ('pkg', 'package'), ('port', '22'), ('scheme', 'ssh'), ('template-dir', None), ('url', 'ssh://host:22/~/path/package.git')]
>>> sort_dict(parse_url("ssh://host:22/~user/path/%(pkg)s.git", "origin", "package", "/doesnot/exist"))
[('base', '~user/'), ('dir', 'path/package.git'), ('host', 'host'), ('name', 'origin'), ('pkg', 'package'), ('port', '22'), ('scheme', 'ssh'), ('template-dir', '/doesnot/exist'), ('url', 'ssh://host:22/~user/path/package.git')]
>>> parse_url("git://host/repo.git", "origin", "package")
Traceback (most recent call last):
...
GbpError: URL must use ssh protocol.
>>> parse_url("ssh://host/path/repo", "origin", "package")
Traceback (most recent call last):
...
GbpError: URL needs to contain either a repository name or '%(pkg)s'
>>> parse_url("ssh://host:asdf/path/%(pkg)s.git", "origin", "package")
Traceback (most recent call last):
...
GbpError: URL contains invalid port.
>>> parse_url("ssh://host/~us er/path/%(pkg)s.git", "origin", "package")
Traceback (most recent call last):
...
GbpError: URL contains invalid ~username expansion.
|