/usr/lib/imh-ultrastack-common/venv/lib/python3.13/site-packages/setuptools/command
NameSizeModeActions
__pycache__/-0755rm
alias.py23660644editdlrm
bdist_egg.py168320644editdlrm
bdist_rpm.py14350644editdlrm
bdist_wheel.py222100644editdlrm
build.py60520644editdlrm
build_clib.py45280644editdlrm
build_ext.py182700644editdlrm
build_py.py158260644editdlrm
develop.py17510644editdlrm
dist_info.py34500644editdlrm
easy_install.py7800644editdlrm
editable_wheel.py348620644editdlrm
egg_info.py257540644editdlrm
install.py50660644editdlrm
install_egg_info.py20200644editdlrm
install_lib.py43190644editdlrm
install_scripts.py24450644editdlrm
rotate.py21340644editdlrm
saveopts.py6780644editdlrm
sdist.py74260644editdlrm
setopt.py50470644editdlrm
test.py14000644editdlrm
_requirestxt.py42280644editdlrm
__init__.py8030644editdlrm
Edit: /usr/lib/imh-ultrastack-common/venv/lib/python3.13/site-packages/setuptools/command/rotate.py (2134B)
from __future__ import annotations import os from typing import ClassVar from .. import Command, _shutil from distutils import log from distutils.errors import DistutilsOptionError from distutils.util import convert_path class rotate(Command): """Delete older distributions""" description = "delete older distributions, keeping N newest files" user_options = [ ('match=', 'm', "patterns to match (required)"), ('dist-dir=', 'd', "directory where the distributions are"), ('keep=', 'k', "number of matching distributions to keep"), ] boolean_options: ClassVar[list[str]] = [] def initialize_options(self): self.match = None self.dist_dir = None self.keep = None def finalize_options(self) -> None: if self.match is None: raise DistutilsOptionError( "Must specify one or more (comma-separated) match patterns " "(e.g. '.zip' or '.egg')" ) if self.keep is None: raise DistutilsOptionError("Must specify number of files to keep") try: self.keep = int(self.keep) except ValueError as e: raise DistutilsOptionError("--keep must be an integer") from e if isinstance(self.match, str): self.match = [convert_path(p.strip()) for p in self.match.split(',')] self.set_undefined_options('bdist', ('dist_dir', 'dist_dir')) def run(self) -> None: self.run_command("egg_info") from glob import glob for pattern in self.match: pattern = self.distribution.get_name() + '*' + pattern files = glob(os.path.join(self.dist_dir, pattern)) files = [(os.path.getmtime(f), f) for f in files] files.sort() files.reverse() log.info("%d file(s) matching %s", len(files), pattern) files = files[self.keep :] for t, f in files: log.info("Deleting %s", f) if os.path.isdir(f): _shutil.rmtree(f) else: os.unlink(f)