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