SILENT KILLERPanel

Current Path: > > opt > alt > python37 > lib > python3.7 > site-packages > pip > _internal > > commands


Operation   : Linux premium131.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
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/python37/lib/python3.7/site-packages/pip/_internal//commands

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 4100 bytes November 13 2023 21:31:06.
cache.py File 5676 bytes November 13 2023 21:31:06.
check.py File 1677 bytes November 13 2023 21:31:06.
completion.py File 3081 bytes November 13 2023 21:31:06.
configuration.py File 9344 bytes November 13 2023 21:31:06.
debug.py File 7314 bytes November 13 2023 21:31:06.
download.py File 4918 bytes November 13 2023 21:31:06.
freeze.py File 3452 bytes November 13 2023 21:31:06.
hash.py File 1843 bytes November 13 2023 21:31:06.
help.py File 1270 bytes November 13 2023 21:31:06.
install.py File 28727 bytes November 13 2023 21:31:06.
list.py File 11312 bytes November 13 2023 21:31:06.
search.py File 5756 bytes November 13 2023 21:31:06.
show.py File 6996 bytes November 13 2023 21:31:06.
uninstall.py File 3311 bytes November 13 2023 21:31:06.
wheel.py File 6419 bytes November 13 2023 21:31:06.

Reading File: //opt/alt/python37/lib/python3.7/site-packages/pip/_internal//commands/hash.py

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()

SILENT KILLER Tool