parameters: (p)
return_statement: return path
docstring: OS-specific conversion from a file system path to a relative URL
      of the 'file' scheme; not recommended for general use.
docstring_summary: OS-specific conversion from a file system path to a relative URL
      of the 'file' scheme; not recommended for general use.
docstring_tokens: OS - specific conversion from a file system path to a relative URL of the file scheme ; not recommended for general use .
function: def pathname2url(p):
      """OS-specific conversion from a file system path to a relative URL
      of the 'file' scheme; not recommended for general use."""
      # e.g.
      # C:\foo\bar\spam.foo
      # becomes
      # ///C|/foo/bar/spam.foo
      import urllib
      if not ':' in p:
          # No drive specifier, just convert slashes and quote the name
          if p[:2] == '\\\\':
          # path is something like \\host\path\on\remote\host
          # convert this to ////host/path/on/remote/host
          # (notice doubling of slashes at the start of the path)
              p = '\\\\' + p
          components = p.split('\\')
          return urllib.quote('/'.join(components))
      comp = p.split(':')
      if len(comp) != 2 or len(comp[0]) > 1:
          error = 'Bad path: ' + p
          raise IOError, error
  
      drive = urllib.quote(comp[0].upper())
      components = comp[1].split('\\')
      path = '///' + drive + ':'
      for comp in components:
          if comp:
              path = path + '/' + urllib.quote(comp)
      return path
function_tokens: def pathname2url ( p ) : # e.g. # C:\foo\bar\spam.foo # becomes # ///C|/foo/bar/spam.foo import urllib if not ':' in p : # No drive specifier, just convert slashes and quote the name if p [ : 2 ] == '\\\\' : # path is something like \\host\path\on\remote\host # convert this to ////host/path/on/remote/host # (notice doubling of slashes at the start of the path) p = '\\\\' + p components = p . split ( '\\' ) return urllib . quote ( '/' . join ( components ) ) comp = p . split ( ':' ) if len ( comp ) != 2 or len ( comp [ 0 ] ) > 1 : error = 'Bad path: ' + p raise IOError , error drive = urllib . quote ( comp [ 0 ] . upper ( ) ) components = comp [ 1 ] . split ( '\\' ) path = '///' + drive + ':' for comp in components : if comp : path = path + '/' + urllib . quote ( comp ) return path