home *** CD-ROM | disk | FTP | other *** search
/ Freelog 116 / FreelogNo116-JuilletSeptembre2013.iso / Bureautique / gImageReader / gimagereader_0.9-1_win32.exe / bin / nturl2path.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2011-03-24  |  2KB  |  53 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.7)
  3.  
  4. '''Convert a NT pathname to a file URL and vice versa.'''
  5.  
  6. def url2pathname(url):
  7.     """OS-specific conversion from a relative URL of the 'file' scheme
  8.     to a file system path; not recommended for general use."""
  9.     import string as string
  10.     import urllib as urllib
  11.     url = url.replace(':', '|')
  12.     if '|' not in url:
  13.         if url[:4] == '////':
  14.             url = url[2:]
  15.         components = url.split('/')
  16.         return urllib.unquote('\\'.join(components))
  17.     comp = None.split('|')
  18.     if len(comp) != 2 or comp[0][-1] not in string.ascii_letters:
  19.         error = 'Bad URL: ' + url
  20.         raise IOError, error
  21.     drive = comp[0][-1].upper()
  22.     components = comp[1].split('/')
  23.     path = drive + ':'
  24.     for comp in components:
  25.         if comp:
  26.             path = path + '\\' + urllib.unquote(comp)
  27.             continue
  28.     return path
  29.  
  30.  
  31. def pathname2url(p):
  32.     """OS-specific conversion from a file system path to a relative URL
  33.     of the 'file' scheme; not recommended for general use."""
  34.     import urllib
  35.     if ':' not in p:
  36.         if p[:2] == '\\\\':
  37.             p = '\\\\' + p
  38.         components = p.split('\\')
  39.         return urllib.quote('/'.join(components))
  40.     comp = None.split(':')
  41.     if len(comp) != 2 or len(comp[0]) > 1:
  42.         error = 'Bad path: ' + p
  43.         raise IOError, error
  44.     drive = urllib.quote(comp[0].upper())
  45.     components = comp[1].split('\\')
  46.     path = '///' + drive + ':'
  47.     for comp in components:
  48.         if comp:
  49.             path = path + '/' + urllib.quote(comp)
  50.             continue
  51.     return path
  52.  
  53.