home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import distutils
- import os
- from setuptools import Command
- from distutils.util import convert_path
- from distutils import log
- from distutils.errors import *
-
- class rotate(Command):
- 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 = []
-
- def initialize_options(self):
- self.match = None
- self.dist_dir = None
- self.keep = None
-
-
- def finalize_options(self):
- if self.match is None:
- raise DistutilsOptionError("Must specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')")
- self.match is None
- if self.keep is None:
- raise DistutilsOptionError('Must specify number of files to keep')
- self.keep is None
-
- try:
- self.keep = int(self.keep)
- except ValueError:
- raise DistutilsOptionError('--keep must be an integer')
-
- self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
-
-
- def run(self):
- self.run_command('egg_info')
- glob = 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 not self.dry_run:
- os.unlink(f)
- continue
- []
-
-
-
-
-