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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.7)
  3.  
  4. '''distutils.pypirc
  5.  
  6. Provides the PyPIRCCommand class, the base class for the command classes
  7. that uses .pypirc in the distutils.command package.
  8. '''
  9. import os
  10. from ConfigParser import ConfigParser
  11. from distutils.cmd import Command
  12. DEFAULT_PYPIRC = '[distutils]\nindex-servers =\n    pypi\n\n[pypi]\nusername:%s\npassword:%s\n'
  13.  
  14. class PyPIRCCommand(Command):
  15.     '''Base command that knows how to handle the .pypirc file
  16.     '''
  17.     DEFAULT_REPOSITORY = 'http://pypi.python.org/pypi'
  18.     DEFAULT_REALM = 'pypi'
  19.     repository = None
  20.     realm = None
  21.     user_options = [
  22.         ('repository=', 'r', 'url of repository [default: %s]' % DEFAULT_REPOSITORY),
  23.         ('show-response', None, 'display full response text from server')]
  24.     boolean_options = [
  25.         'show-response']
  26.     
  27.     def _get_rc_file(self):
  28.         '''Returns rc file path.'''
  29.         return os.path.join(os.path.expanduser('~'), '.pypirc')
  30.  
  31.     
  32.     def _store_pypirc(self, username, password):
  33.         '''Creates a default .pypirc file.'''
  34.         rc = self._get_rc_file()
  35.         f = open(rc, 'w')
  36.         
  37.         try:
  38.             f.write(DEFAULT_PYPIRC % (username, password))
  39.         finally:
  40.             f.close()
  41.  
  42.         
  43.         try:
  44.             os.chmod(rc, 384)
  45.         except OSError:
  46.             pass
  47.  
  48.  
  49.     
  50.     def _read_pypirc(self):
  51.         '''Reads the .pypirc file.'''
  52.         rc = self._get_rc_file()
  53.         if os.path.exists(rc):
  54.             self.announce('Using PyPI login from %s' % rc)
  55.             if not self.repository:
  56.                 pass
  57.             repository = self.DEFAULT_REPOSITORY
  58.             config = ConfigParser()
  59.             config.read(rc)
  60.             sections = config.sections()
  61.             if 'distutils' in sections:
  62.                 index_servers = config.get('distutils', 'index-servers')
  63.                 _servers = [ server.strip() for server in index_servers.split('\n') if server.strip() != '' ]
  64.                 if _servers == []:
  65.                     if 'pypi' in sections:
  66.                         _servers = [
  67.                             'pypi']
  68.                     else:
  69.                         return { }
  70.                 for server in _servers:
  71.                     current = {
  72.                         'server': server }
  73.                     current['username'] = config.get(server, 'username')
  74.                     for key, default in (('repository', self.DEFAULT_REPOSITORY), ('realm', self.DEFAULT_REALM), ('password', None)):
  75.                         if config.has_option(server, key):
  76.                             current[key] = config.get(server, key)
  77.                             continue
  78.                         current[key] = default
  79.                     
  80.                     if not current['server'] == repository:
  81.                         if current['repository'] == repository:
  82.                             return current
  83.             if 'server-login' in sections:
  84.                 server = 'server-login'
  85.                 if config.has_option(server, 'repository'):
  86.                     repository = config.get(server, 'repository')
  87.                 else:
  88.                     repository = self.DEFAULT_REPOSITORY
  89.                 return {
  90.                     'username': config.get(server, 'username'),
  91.                     'password': config.get(server, 'password'),
  92.                     'repository': repository,
  93.                     'server': server,
  94.                     'realm': self.DEFAULT_REALM }
  95.         return { }
  96.  
  97.     
  98.     def initialize_options(self):
  99.         '''Initialize options.'''
  100.         self.repository = None
  101.         self.realm = None
  102.         self.show_response = 0
  103.  
  104.     
  105.     def finalize_options(self):
  106.         '''Finalizes options.'''
  107.         if self.repository is None:
  108.             self.repository = self.DEFAULT_REPOSITORY
  109.         if self.realm is None:
  110.             self.realm = self.DEFAULT_REALM
  111.  
  112.  
  113.