[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.118.134.54: ~ $
from __future__ import absolute_import

import hashlib
import logging
import sys

from pip._internal.cli.base_command import Command
from pip._internal.cli.status_codes import ERROR, SUCCESS
from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES
from pip._internal.utils.misc import read_chunks, write_output
from pip._internal.utils.typing import MYPY_CHECK_RUNNING

if MYPY_CHECK_RUNNING:
    from optparse import Values
    from typing import List

logger = logging.getLogger(__name__)


class HashCommand(Command):
    """
    Compute a hash of a local package archive.

    These can be used with --hash in a requirements file to do repeatable
    installs.
    """

    usage = '%prog [options] <file> ...'
    ignore_require_venv = True

    def add_options(self):
        # type: () -> None
        self.cmd_opts.add_option(
            '-a', '--algorithm',
            dest='algorithm',
            choices=STRONG_HASHES,
            action='store',
            default=FAVORITE_HASH,
            help='The hash algorithm to use: one of {}'.format(
                 ', '.join(STRONG_HASHES)))
        self.parser.insert_option_group(0, self.cmd_opts)

    def run(self, options, args):
        # type: (Values, List[str]) -> int
        if not args:
            self.parser.print_usage(sys.stderr)
            return ERROR

        algorithm = options.algorithm
        for path in args:
            write_output('%s:\n--hash=%s:%s',
                         path, algorithm, _hash_of_file(path, algorithm))
        return SUCCESS


def _hash_of_file(path, algorithm):
    # type: (str, str) -> str
    """Return the hash digest of a file."""
    with open(path, 'rb') as archive:
        hash = hashlib.new(algorithm)
        for chunk in read_chunks(archive):
            hash.update(chunk)
    return hash.hexdigest()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
.__init__.pyo.40009 File 3.48 KB 0644
.cache.pyo.40009 File 5.45 KB 0644
.check.pyo.40009 File 1.91 KB 0644
.completion.pyo.40009 File 3.51 KB 0644
.configuration.pyo.40009 File 9.52 KB 0644
.debug.pyo.40009 File 7.9 KB 0644
.download.pyo.40009 File 4.7 KB 0644
.freeze.pyo.40009 File 3.69 KB 0644
.hash.pyo.40009 File 2.67 KB 0644
.help.pyo.40009 File 1.68 KB 0644
.list.pyo.40009 File 10.33 KB 0644
.show.pyo.40009 File 6.59 KB 0644
.uninstall.pyo.40009 File 3.47 KB 0644
__init__.py File 4 KB 0644
__init__.pyc File 3.48 KB 0644
__init__.pyo File 3.48 KB 0644
cache.py File 5.54 KB 0644
cache.pyc File 5.45 KB 0644
cache.pyo File 5.45 KB 0644
check.py File 1.64 KB 0644
check.pyc File 1.91 KB 0644
check.pyo File 1.91 KB 0644
completion.py File 3.01 KB 0644
completion.pyc File 3.51 KB 0644
completion.pyo File 3.51 KB 0644
configuration.py File 9.13 KB 0644
configuration.pyc File 9.52 KB 0644
configuration.pyo File 9.52 KB 0644
debug.py File 7.14 KB 0644
debug.pyc File 7.9 KB 0644
debug.pyo File 7.9 KB 0644
download.py File 4.8 KB 0644
download.pyc File 4.7 KB 0644
download.pyo File 4.7 KB 0644
freeze.py File 3.37 KB 0644
freeze.pyc File 3.69 KB 0644
freeze.pyo File 3.69 KB 0644
hash.py File 1.8 KB 0644
hash.pyc File 2.67 KB 0644
hash.pyo File 2.67 KB 0644
help.py File 1.24 KB 0644
help.pyc File 1.68 KB 0644
help.pyo File 1.68 KB 0644
install.py File 28.05 KB 0644
install.pyc File 20.44 KB 0644
install.pyo File 20.38 KB 0644
list.py File 11.05 KB 0644
list.pyc File 10.33 KB 0644
list.pyo File 10.33 KB 0644
search.py File 5.62 KB 0644
search.pyc File 5.81 KB 0644
search.pyo File 5.77 KB 0644
show.py File 6.83 KB 0644
show.pyc File 6.59 KB 0644
show.pyo File 6.59 KB 0644
uninstall.py File 3.23 KB 0644
uninstall.pyc File 3.47 KB 0644
uninstall.pyo File 3.47 KB 0644
wheel.py File 6.27 KB 0644
wheel.pyc File 5.8 KB 0644
wheel.pyo File 5.72 KB 0644