mercurial/util.py
changeset 20108 af12f58e2aa0
parent 20034 1e5b38a919dd
parent 20106 c33d9217e99d
child 20202 a6014018ec28
equal deleted inserted replaced
20102:04eaa8eec6a0 20108:af12f58e2aa0
  1632     <url path: 'c:\\foo\\bar'>
  1632     <url path: 'c:\\foo\\bar'>
  1633     >>> url(r'\\blah\blah\blah')
  1633     >>> url(r'\\blah\blah\blah')
  1634     <url path: '\\\\blah\\blah\\blah'>
  1634     <url path: '\\\\blah\\blah\\blah'>
  1635     >>> url(r'\\blah\blah\blah#baz')
  1635     >>> url(r'\\blah\blah\blah#baz')
  1636     <url path: '\\\\blah\\blah\\blah', fragment: 'baz'>
  1636     <url path: '\\\\blah\\blah\\blah', fragment: 'baz'>
       
  1637     >>> url(r'file:///C:\users\me')
       
  1638     <url scheme: 'file', path: 'C:\\users\\me'>
  1637 
  1639 
  1638     Authentication credentials:
  1640     Authentication credentials:
  1639 
  1641 
  1640     >>> url('ssh://joe:xyz@x/repo')
  1642     >>> url('ssh://joe:xyz@x/repo')
  1641     <url scheme: 'ssh', user: 'joe', passwd: 'xyz', host: 'x', path: 'repo'>
  1643     <url scheme: 'ssh', user: 'joe', passwd: 'xyz', host: 'x', path: 'repo'>
  1649     >>> url('http://host/a?b#c', parsequery=False, parsefragment=False)
  1651     >>> url('http://host/a?b#c', parsequery=False, parsefragment=False)
  1650     <url scheme: 'http', host: 'host', path: 'a?b#c'>
  1652     <url scheme: 'http', host: 'host', path: 'a?b#c'>
  1651     """
  1653     """
  1652 
  1654 
  1653     _safechars = "!~*'()+"
  1655     _safechars = "!~*'()+"
  1654     _safepchars = "/!~*'()+:"
  1656     _safepchars = "/!~*'()+:\\"
  1655     _matchscheme = re.compile(r'^[a-zA-Z0-9+.\-]+:').match
  1657     _matchscheme = re.compile(r'^[a-zA-Z0-9+.\-]+:').match
  1656 
  1658 
  1657     def __init__(self, path, parsequery=True, parsefragment=True):
  1659     def __init__(self, path, parsequery=True, parsefragment=True):
  1658         # We slowly chomp away at path until we have only the path left
  1660         # We slowly chomp away at path until we have only the path left
  1659         self.scheme = self.user = self.passwd = self.host = None
  1661         self.scheme = self.user = self.passwd = self.host = None
  1786         'file:///tmp/foo/bar'
  1788         'file:///tmp/foo/bar'
  1787         >>> str(url('file:///c:/tmp/foo/bar'))
  1789         >>> str(url('file:///c:/tmp/foo/bar'))
  1788         'file:///c:/tmp/foo/bar'
  1790         'file:///c:/tmp/foo/bar'
  1789         >>> print url(r'bundle:foo\bar')
  1791         >>> print url(r'bundle:foo\bar')
  1790         bundle:foo\bar
  1792         bundle:foo\bar
       
  1793         >>> print url(r'file:///D:\data\hg')
       
  1794         file:///D:\data\hg
  1791         """
  1795         """
  1792         if self._localpath:
  1796         if self._localpath:
  1793             s = self.path
  1797             s = self.path
  1794             if self.scheme == 'bundle':
  1798             if self.scheme == 'bundle':
  1795                 s = 'bundle:' + s
  1799                 s = 'bundle:' + s