X7ROOT File Manager
Current Path:
/usr/lib/python2.7/site-packages/setuptools/command
usr
/
lib
/
python2.7
/
site-packages
/
setuptools
/
command
/
📁
..
📄
__init__.py
(689 B)
📄
__init__.pyc
(911 B)
📄
__init__.pyo
(911 B)
📄
alias.py
(2.43 KB)
📄
alias.pyc
(3.16 KB)
📄
alias.pyo
(3.16 KB)
📄
bdist_egg.py
(18.28 KB)
📄
bdist_egg.pyc
(18.18 KB)
📄
bdist_egg.pyo
(18.18 KB)
📄
bdist_rpm.py
(1.98 KB)
📄
bdist_rpm.pyc
(2.24 KB)
📄
bdist_rpm.pyo
(2.24 KB)
📄
bdist_wininst.py
(2.23 KB)
📄
bdist_wininst.pyc
(2.33 KB)
📄
bdist_wininst.pyo
(2.33 KB)
📄
build_ext.py
(11.58 KB)
📄
build_ext.pyc
(10.08 KB)
📄
build_ext.pyo
(10.04 KB)
📄
build_py.py
(10.29 KB)
📄
build_py.pyc
(11.38 KB)
📄
build_py.pyo
(11.38 KB)
📄
develop.py
(6.3 KB)
📄
develop.pyc
(5.68 KB)
📄
develop.pyo
(5.68 KB)
📄
easy_install.py
(73.07 KB)
📄
easy_install.pyc
(65.69 KB)
📄
easy_install.pyo
(65.69 KB)
📄
egg_info.py
(15.42 KB)
📄
egg_info.pyc
(17.27 KB)
📄
egg_info.pyo
(17.27 KB)
📄
install.py
(3.97 KB)
📄
install.pyc
(3.67 KB)
📄
install.pyo
(3.67 KB)
📄
install_egg_info.py
(3.74 KB)
📄
install_egg_info.pyc
(4.56 KB)
📄
install_egg_info.pyo
(4.56 KB)
📄
install_lib.py
(2.43 KB)
📄
install_lib.pyc
(3.14 KB)
📄
install_lib.pyo
(3.1 KB)
📄
install_scripts.py
(2.02 KB)
📄
install_scripts.pyc
(2.54 KB)
📄
install_scripts.pyo
(2.54 KB)
📄
register.py
(277 B)
📄
register.pyc
(692 B)
📄
register.pyo
(692 B)
📄
rotate.py
(2.01 KB)
📄
rotate.pyc
(2.88 KB)
📄
rotate.pyo
(2.88 KB)
📄
saveopts.py
(705 B)
📄
saveopts.pyc
(1.2 KB)
📄
saveopts.pyo
(1.2 KB)
📄
sdist.py
(9.6 KB)
📄
sdist.pyc
(9.92 KB)
📄
sdist.pyo
(9.92 KB)
📄
setopt.py
(4.95 KB)
📄
setopt.pyc
(5.91 KB)
📄
setopt.pyo
(5.91 KB)
📄
test.py
(5.79 KB)
📄
test.pyc
(5.76 KB)
📄
test.pyo
(5.76 KB)
📄
upload.py
(6.57 KB)
📄
upload.pyc
(6.28 KB)
📄
upload.pyo
(6.26 KB)
📄
upload_docs.py
(6.81 KB)
📄
upload_docs.pyc
(7.01 KB)
📄
upload_docs.pyo
(6.98 KB)
Editing: upload.py
"""distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to PyPI).""" from distutils.errors import * from distutils.core import Command from distutils.spawn import spawn from distutils import log try: from hashlib import md5 except ImportError: from md5 import md5 import os import sys import socket import platform import base64 from setuptools.compat import urlparse, StringIO, httplib, ConfigParser class upload(Command): description = "upload binary package to PyPI" DEFAULT_REPOSITORY = 'https://pypi.python.org/pypi' user_options = [ ('repository=', 'r', "url of repository [default: %s]" % DEFAULT_REPOSITORY), ('show-response', None, 'display full response text from server'), ('sign', 's', 'sign files to upload using gpg'), ('identity=', 'i', 'GPG identity used to sign files'), ] boolean_options = ['show-response', 'sign'] def initialize_options(self): self.username = '' self.password = '' self.repository = '' self.show_response = 0 self.sign = False self.identity = None def finalize_options(self): if self.identity and not self.sign: raise DistutilsOptionError( "Must use --sign for --identity to have meaning" ) if 'HOME' in os.environ: rc = os.path.join(os.environ['HOME'], '.pypirc') if os.path.exists(rc): self.announce('Using PyPI login from %s' % rc) config = ConfigParser.ConfigParser({ 'username':'', 'password':'', 'repository':''}) config.read(rc) if not self.repository: self.repository = config.get('server-login', 'repository') if not self.username: self.username = config.get('server-login', 'username') if not self.password: self.password = config.get('server-login', 'password') if not self.repository: self.repository = self.DEFAULT_REPOSITORY def run(self): if not self.distribution.dist_files: raise DistutilsOptionError("No dist file created in earlier command") for command, pyversion, filename in self.distribution.dist_files: self.upload_file(command, pyversion, filename) def upload_file(self, command, pyversion, filename): # Sign if requested if self.sign: gpg_args = ["gpg", "--detach-sign", "-a", filename] if self.identity: gpg_args[2:2] = ["--local-user", self.identity] spawn(gpg_args, dry_run=self.dry_run) # Fill in the data f = open(filename,'rb') content = f.read() f.close() basename = os.path.basename(filename) comment = '' if command=='bdist_egg' and self.distribution.has_ext_modules(): comment = "built on %s" % platform.platform(terse=1) data = { ':action':'file_upload', 'protocol_version':'1', 'name':self.distribution.get_name(), 'version':self.distribution.get_version(), 'content':(basename,content), 'filetype':command, 'pyversion':pyversion, 'md5_digest':md5(content).hexdigest(), } if command == 'bdist_rpm': dist, version, id = platform.dist() if dist: comment = 'built for %s %s' % (dist, version) elif command == 'bdist_dumb': comment = 'built for %s' % platform.platform(terse=1) data['comment'] = comment if self.sign: asc_file = open(filename + ".asc") data['gpg_signature'] = (os.path.basename(filename) + ".asc", asc_file.read()) asc_file.close() # set up the authentication auth = "Basic " + base64.encodestring(self.username + ":" + self.password).strip() # Build up the MIME payload for the POST data boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' sep_boundary = '\n--' + boundary end_boundary = sep_boundary + '--' body = StringIO.StringIO() for key, value in data.items(): # handle multiple entries for the same name if type(value) != type([]): value = [value] for value in value: if type(value) is tuple: fn = ';filename="%s"' % value[0] value = value[1] else: fn = "" value = str(value) body.write(sep_boundary) body.write('\nContent-Disposition: form-data; name="%s"'%key) body.write(fn) body.write("\n\n") body.write(value) if value and value[-1] == '\r': body.write('\n') # write an extra newline (lurve Macs) body.write(end_boundary) body.write("\n") body = body.getvalue() self.announce("Submitting %s to %s" % (filename, self.repository), log.INFO) # build the Request # We can't use urllib2 since we need to send the Basic # auth right with the first request schema, netloc, url, params, query, fragments = \ urlparse(self.repository) assert not params and not query and not fragments if schema == 'http': http = httplib.HTTPConnection(netloc) elif schema == 'https': http = httplib.HTTPSConnection(netloc) else: raise AssertionError("unsupported schema " + schema) data = '' loglevel = log.INFO try: http.connect() http.putrequest("POST", url) http.putheader('Content-type', 'multipart/form-data; boundary=%s'%boundary) http.putheader('Content-length', str(len(body))) http.putheader('Authorization', auth) http.endheaders() http.send(body) except socket.error: e = sys.exc_info()[1] self.announce(str(e), log.ERROR) return r = http.getresponse() if r.status == 200: self.announce('Server response (%s): %s' % (r.status, r.reason), log.INFO) else: self.announce('Upload failed (%s): %s' % (r.status, r.reason), log.ERROR) if self.show_response: print('-'*75, r.read(), '-'*75)
Upload File
Create Folder