This commit is contained in:
lz_db
2026-10-16 22:48:30 +08:00
parent 190de72571
commit 0b36fd3383
3161 changed files with 12787 additions and 77274 deletions
@@ -1,13 +1,10 @@
from __future__ import annotations
import os
from typing import ClassVar
from .. import Command, _shutil
from distutils.util import convert_path
from distutils import log
from distutils.errors import DistutilsOptionError
from distutils.util import convert_path
import os
import shutil
from setuptools import Command
class rotate(Command):
@@ -20,14 +17,14 @@ class rotate(Command):
('keep=', 'k', "number of matching distributions to keep"),
]
boolean_options: ClassVar[list[str]] = []
boolean_options = []
def initialize_options(self):
self.match = None
self.dist_dir = None
self.keep = None
def finalize_options(self) -> None:
def finalize_options(self):
if self.match is None:
raise DistutilsOptionError(
"Must specify one or more (comma-separated) match patterns "
@@ -40,10 +37,12 @@ class rotate(Command):
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.match = [
convert_path(p.strip()) for p in self.match.split(',')
]
self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
def run(self) -> None:
def run(self):
self.run_command("egg_info")
from glob import glob
@@ -55,11 +54,11 @@ class rotate(Command):
files.reverse()
log.info("%d file(s) matching %s", len(files), pattern)
files = files[self.keep :]
for t, f in files:
files = files[self.keep:]
for (t, f) in files:
log.info("Deleting %s", f)
if not self.dry_run:
if os.path.isdir(f):
_shutil.rmtree(f)
shutil.rmtree(f)
else:
os.unlink(f)