GRAYBYTE WORDPRESS FILE MANAGER5280

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /lib/python2.7/site-packages/setuptools/command/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib/python2.7/site-packages/setuptools/command//upload_docs.py
# -*- coding: utf-8 -*-
"""upload_docs

Implements a Distutils 'upload_docs' subcommand (upload documentation to
PyPI's pythonhosted.org).
"""

from base64 import standard_b64encode
from distutils import log
from distutils.errors import DistutilsOptionError
import os
import socket
import zipfile
import tempfile
import shutil
import itertools
import functools

from setuptools.extern import six
from setuptools.extern.six.moves import http_client, urllib

from pkg_resources import iter_entry_points
from .upload import upload


def _encode(s):
    errors = 'surrogateescape' if six.PY3 else 'strict'
    return s.encode('utf-8', errors)


class upload_docs(upload):
    # override the default repository as upload_docs isn't
    # supported by Warehouse (and won't be).
    DEFAULT_REPOSITORY = 'https://pypi.python.org/pypi/'

    description = 'Upload documentation to PyPI'

    user_options = [
        ('repository=', 'r',
         "url of repository [default: %s]" % upload.DEFAULT_REPOSITORY),
        ('show-response', None,
         'display full response text from server'),
        ('upload-dir=', None, 'directory to upload'),
    ]
    boolean_options = upload.boolean_options

    def has_sphinx(self):
        if self.upload_dir is None:
            for ep in iter_entry_points('distutils.commands', 'build_sphinx'):
                return True

    sub_commands = [('build_sphinx', has_sphinx)]

    def initialize_options(self):
        upload.initialize_options(self)
        self.upload_dir = None
        self.target_dir = None

    def finalize_options(self):
        upload.finalize_options(self)
        if self.upload_dir is None:
            if self.has_sphinx():
                build_sphinx = self.get_finalized_command('build_sphinx')
                self.target_dir = build_sphinx.builder_target_dir
            else:
                build = self.get_finalized_command('build')
                self.target_dir = os.path.join(build.build_base, 'docs')
        else:
            self.ensure_dirname('upload_dir')
            self.target_dir = self.upload_dir
        if 'pypi.python.org' in self.repository:
            log.warn("Upload_docs command is deprecated. Use RTD instead.")
        self.announce('Using upload directory %s' % self.target_dir)

    def create_zipfile(self, filename):
        zip_file = zipfile.ZipFile(filename, "w")
        try:
            self.mkpath(self.target_dir)  # just in case
            for root, dirs, files in os.walk(self.target_dir):
                if root == self.target_dir and not files:
                    tmpl = "no files found in upload directory '%s'"
                    raise DistutilsOptionError(tmpl % self.target_dir)
                for name in files:
                    full = os.path.join(root, name)
                    relative = root[len(self.target_dir):].lstrip(os.path.sep)
                    dest = os.path.join(relative, name)
                    zip_file.write(full, dest)
        finally:
            zip_file.close()

    def run(self):
        # Run sub commands
        for cmd_name in self.get_sub_commands():
            self.run_command(cmd_name)

        tmp_dir = tempfile.mkdtemp()
        name = self.distribution.metadata.get_name()
        zip_file = os.path.join(tmp_dir, "%s.zip" % name)
        try:
            self.create_zipfile(zip_file)
            self.upload_file(zip_file)
        finally:
            shutil.rmtree(tmp_dir)

    @staticmethod
    def _build_part(item, sep_boundary):
        key, values = item
        title = '\nContent-Disposition: form-data; name="%s"' % key
        # handle multiple entries for the same name
        if not isinstance(values, list):
            values = [values]
        for value in values:
            if isinstance(value, tuple):
                title += '; filename="%s"' % value[0]
                value = value[1]
            else:
                value = _encode(value)
            yield sep_boundary
            yield _encode(title)
            yield b"\n\n"
            yield value
            if value and value[-1:] == b'\r':
                yield b'\n'  # write an extra newline (lurve Macs)

    @classmethod
    def _build_multipart(cls, data):
        """
        Build up the MIME payload for the POST data
        """
        boundary = b'--------------GHSKFJDLGDS7543FJKLFHRE75642756743254'
        sep_boundary = b'\n--' + boundary
        end_boundary = sep_boundary + b'--'
        end_items = end_boundary, b"\n",
        builder = functools.partial(
            cls._build_part,
            sep_boundary=sep_boundary,
        )
        part_groups = map(builder, data.items())
        parts = itertools.chain.from_iterable(part_groups)
        body_items = itertools.chain(parts, end_items)
        content_type = 'multipart/form-data; boundary=%s' % boundary.decode('ascii')
        return b''.join(body_items), content_type

    def upload_file(self, filename):
        with open(filename, 'rb') as f:
            content = f.read()
        meta = self.distribution.metadata
        data = {
            ':action': 'doc_upload',
            'name': meta.get_name(),
            'content': (os.path.basename(filename), content),
        }
        # set up the authentication
        credentials = _encode(self.username + ':' + self.password)
        credentials = standard_b64encode(credentials)
        if six.PY3:
            credentials = credentials.decode('ascii')
        auth = "Basic " + credentials

        body, ct = self._build_multipart(data)

        msg = "Submitting documentation to %s" % (self.repository)
        self.announce(msg, 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 = \
            urllib.parse.urlparse(self.repository)
        assert not params and not query and not fragments
        if schema == 'http':
            conn = http_client.HTTPConnection(netloc)
        elif schema == 'https':
            conn = http_client.HTTPSConnection(netloc)
        else:
            raise AssertionError("unsupported schema " + schema)

        data = ''
        try:
            conn.connect()
            conn.putrequest("POST", url)
            content_type = ct
            conn.putheader('Content-type', content_type)
            conn.putheader('Content-length', str(len(body)))
            conn.putheader('Authorization', auth)
            conn.endheaders()
            conn.send(body)
        except socket.error as e:
            self.announce(str(e), log.ERROR)
            return

        r = conn.getresponse()
        if r.status == 200:
            msg = 'Server response (%s): %s' % (r.status, r.reason)
            self.announce(msg, log.INFO)
        elif r.status == 301:
            location = r.getheader('Location')
            if location is None:
                location = 'https://pythonhosted.org/%s/' % meta.get_name()
            msg = 'Upload successful. Visit %s' % location
            self.announce(msg, log.INFO)
        else:
            msg = 'Upload failed (%s): %s' % (r.status, r.reason)
            self.announce(msg, log.ERROR)
        if self.show_response:
            print('-' * 75, r.read(), '-' * 75)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 15 2024 08:34:30
root / root
0755
__init__.py
0.58 KB
April 10 2024 05:04:00
root / root
0644
__init__.pyc
0.861 KB
April 10 2024 05:04:00
root / root
0644
__init__.pyo
0.861 KB
April 10 2024 05:04:00
root / root
0644
alias.py
2.369 KB
April 10 2024 05:04:00
root / root
0644
alias.pyc
3.025 KB
April 10 2024 05:04:00
root / root
0644
alias.pyo
3.025 KB
April 10 2024 05:04:00
root / root
0644
bdist_egg.py
17.759 KB
April 10 2024 05:04:00
root / root
0644
bdist_egg.pyc
17.957 KB
April 10 2024 05:04:00
root / root
0644
bdist_egg.pyo
17.957 KB
April 10 2024 05:04:00
root / root
0644
bdist_rpm.py
1.473 KB
April 10 2024 05:04:00
root / root
0644
bdist_rpm.pyc
1.869 KB
April 10 2024 05:04:00
root / root
0644
bdist_rpm.pyo
1.869 KB
April 10 2024 05:04:00
root / root
0644
bdist_wininst.py
0.622 KB
April 10 2024 05:04:00
root / root
0644
bdist_wininst.pyc
1.163 KB
April 10 2024 05:04:00
root / root
0644
bdist_wininst.pyo
1.163 KB
April 10 2024 05:04:00
root / root
0644
build_clib.py
4.379 KB
April 10 2024 05:04:00
root / root
0644
build_clib.pyc
2.777 KB
April 10 2024 05:04:00
root / root
0644
build_clib.pyo
2.777 KB
April 10 2024 05:04:00
root / root
0644
build_ext.py
12.864 KB
April 10 2024 05:04:00
root / root
0644
build_ext.pyc
12.276 KB
April 10 2024 05:04:00
root / root
0644
build_ext.pyo
12.233 KB
April 10 2024 05:04:00
root / root
0644
build_py.py
9.371 KB
April 10 2024 05:04:00
root / root
0644
build_py.pyc
10.417 KB
April 10 2024 05:04:00
root / root
0644
build_py.pyo
10.417 KB
April 10 2024 05:04:00
root / root
0644
develop.py
7.857 KB
April 10 2024 05:04:00
root / root
0644
develop.pyc
7.715 KB
April 10 2024 05:04:00
root / root
0644
develop.pyo
7.715 KB
April 10 2024 05:04:00
root / root
0644
dist_info.py
0.938 KB
April 10 2024 05:04:00
root / root
0644
dist_info.pyc
1.757 KB
April 10 2024 05:04:00
root / root
0644
dist_info.pyo
1.757 KB
April 10 2024 05:04:00
root / root
0644
easy_install.py
84.992 KB
April 10 2024 05:04:00
root / root
0644
easy_install.pyc
78.498 KB
April 10 2024 05:04:00
root / root
0644
easy_install.pyo
78.442 KB
April 10 2024 05:04:00
root / root
0644
egg_info.py
24.219 KB
April 10 2024 05:04:00
root / root
0644
egg_info.pyc
25.289 KB
April 10 2024 05:04:00
root / root
0644
egg_info.pyo
25.289 KB
April 10 2024 05:04:00
root / root
0644
install.py
4.573 KB
April 10 2024 05:04:00
root / root
0644
install.pyc
4.837 KB
April 10 2024 05:04:00
root / root
0644
install.pyo
4.837 KB
April 10 2024 05:04:00
root / root
0644
install_egg_info.py
2.151 KB
April 10 2024 05:04:00
root / root
0644
install_egg_info.pyc
3.11 KB
April 10 2024 05:04:00
root / root
0644
install_egg_info.pyo
3.11 KB
April 10 2024 05:04:00
root / root
0644
install_lib.py
3.75 KB
April 10 2024 05:04:00
root / root
0644
install_lib.pyc
4.756 KB
April 10 2024 05:04:00
root / root
0644
install_lib.pyo
4.711 KB
April 10 2024 05:04:00
root / root
0644
install_scripts.py
2.382 KB
April 10 2024 05:04:00
root / root
0644
install_scripts.pyc
2.823 KB
April 10 2024 05:04:00
root / root
0644
install_scripts.pyo
2.823 KB
April 10 2024 05:04:00
root / root
0644
launcher manifest.xml
0.613 KB
April 10 2024 05:04:00
root / root
0644
py36compat.py
4.869 KB
April 10 2024 05:04:00
root / root
0644
py36compat.pyc
5.42 KB
April 10 2024 05:04:00
root / root
0644
py36compat.pyo
5.42 KB
April 10 2024 05:04:00
root / root
0644
register.py
0.264 KB
April 10 2024 05:04:00
root / root
0644
register.pyc
0.693 KB
April 10 2024 05:04:00
root / root
0644
register.pyo
0.693 KB
April 10 2024 05:04:00
root / root
0644
rotate.py
2.113 KB
April 10 2024 05:04:00
root / root
0644
rotate.pyc
2.965 KB
April 10 2024 05:04:00
root / root
0644
rotate.pyo
2.965 KB
April 10 2024 05:04:00
root / root
0644
saveopts.py
0.643 KB
April 10 2024 05:04:00
root / root
0644
saveopts.pyc
1.103 KB
April 10 2024 05:04:00
root / root
0644
saveopts.pyo
1.103 KB
April 10 2024 05:04:00
root / root
0644
sdist.py
6.554 KB
April 10 2024 05:04:00
root / root
0644
sdist.pyc
7.64 KB
April 10 2024 05:04:00
root / root
0644
sdist.pyo
7.64 KB
April 10 2024 05:04:00
root / root
0644
setopt.py
4.966 KB
April 10 2024 05:04:00
root / root
0644
setopt.pyc
5.908 KB
April 10 2024 05:04:00
root / root
0644
setopt.pyo
5.908 KB
April 10 2024 05:04:00
root / root
0644
test.py
8.998 KB
April 10 2024 05:04:00
root / root
0644
test.pyc
10.223 KB
April 10 2024 05:04:00
root / root
0644
test.pyo
10.223 KB
April 10 2024 05:04:00
root / root
0644
upload.py
1.145 KB
April 10 2024 05:04:00
root / root
0644
upload.pyc
1.598 KB
April 10 2024 05:04:00
root / root
0644
upload.pyo
1.598 KB
April 10 2024 05:04:00
root / root
0644
upload_docs.py
7.14 KB
April 10 2024 05:04:00
root / root
0644
upload_docs.pyc
7.658 KB
April 10 2024 05:04:00
root / root
0644
upload_docs.pyo
7.63 KB
April 10 2024 05:04:00
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF