NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

config.py (3301B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\config.py
      2 import os
      3 from ConfigParser import ConfigParser
      4 from distutils.cmd import Command
      5 DEFAULT_PYPIRC = '[distutils]\nindex-servers =\n    pypi\n\n[pypi]\nusername:%s\npassword:%s\n'
      6 
      7 class PyPIRCCommand(Command):
      8     DEFAULT_REPOSITORY = 'http://pypi.python.org/pypi'
      9     DEFAULT_REALM = 'pypi'
     10     repository = None
     11     realm = None
     12     user_options = [('repository=', 'r', 'url of repository [default: %s]' % DEFAULT_REPOSITORY), ('show-response', None, 'display full response text from server')]
     13     boolean_options = ['show-response']
     14 
     15     def _get_rc_file(self):
     16         return os.path.join(os.path.expanduser('~'), '.pypirc')
     17 
     18     def _store_pypirc(self, username, password):
     19         rc = self._get_rc_file()
     20         f = open(rc, 'w')
     21         try:
     22             f.write(DEFAULT_PYPIRC % (username, password))
     23         finally:
     24             f.close()
     25 
     26         try:
     27             os.chmod(rc, 384)
     28         except OSError:
     29             pass
     30 
     31     def _read_pypirc(self):
     32         rc = self._get_rc_file()
     33         if os.path.exists(rc):
     34             self.announce('Using PyPI login from %s' % rc)
     35             repository = self.repository or self.DEFAULT_REPOSITORY
     36             config = ConfigParser()
     37             config.read(rc)
     38             sections = config.sections()
     39             if 'distutils' in sections:
     40                 index_servers = config.get('distutils', 'index-servers')
     41                 _servers = [ server.strip() for server in index_servers.split('\n') if server.strip() != '' ]
     42                 if _servers == []:
     43                     if 'pypi' in sections:
     44                         _servers = ['pypi']
     45                     else:
     46                         return {}
     47                 for server in _servers:
     48                     current = {'server': server}
     49                     current['username'] = config.get(server, 'username')
     50                     for key, default in (('repository', self.DEFAULT_REPOSITORY), ('realm', self.DEFAULT_REALM), ('password', None)):
     51                         if config.has_option(server, key):
     52                             current[key] = config.get(server, key)
     53                         else:
     54                             current[key] = default
     55 
     56                     if current['server'] == repository or current['repository'] == repository:
     57                         return current
     58 
     59             elif 'server-login' in sections:
     60                 server = 'server-login'
     61                 if config.has_option(server, 'repository'):
     62                     repository = config.get(server, 'repository')
     63                 else:
     64                     repository = self.DEFAULT_REPOSITORY
     65                 return {'username': config.get(server, 'username'),
     66                  'password': config.get(server, 'password'),
     67                  'repository': repository,
     68                  'server': server,
     69                  'realm': self.DEFAULT_REALM}
     70         return {}
     71 
     72     def initialize_options(self):
     73         self.repository = None
     74         self.realm = None
     75         self.show_response = 0
     76 
     77     def finalize_options(self):
     78         if self.repository is None:
     79             self.repository = self.DEFAULT_REPOSITORY
     80         if self.realm is None:
     81             self.realm = self.DEFAULT_REALM