source: soft/build_system/build_system/bm/tags/2.1/BuildManager/clean.py @ 1

Last change on this file since 1 was 1, checked in by fasma, 12 years ago

Initial Import from Mandriva's soft revision 224062 and package revision 45733

File size: 1.4 KB
Line 
1from BuildManager.fileutil import *
2from BuildManager.package import *
3from BuildManager import *
4import os
5
6class PackageCleaner:
7    def __init__(self, opts):
8        self.opts = opts
9
10    def run(self):
11        pkglist = PackageList()
12        pkglist_check = PackageList()
13        logger.info("creating package list")
14        for filename in self.opts.args:
15            pkglist.append(Package(filename))
16        if self.opts.check:
17            for dir in self.opts.check:
18                logger.info("creating package check list for "+dir)
19                for entry in os.listdir(dir):
20                    entrypath = os.path.join(dir, entry)
21                    if os.path.isfile(entrypath):
22                        pkglist_check.append(Package(entrypath))
23        logger.info("processing package list")
24        for pkg in pkglist[:]:
25            if pkglist.has_gt(pkg) or pkglist_check.has_gt(pkg):
26                pkglist.remove(pkg)
27                if self.opts.move:
28                    move_file(pkg.file, self.opts.move,
29                              dryrun=self.opts.dryrun)
30                elif self.opts.copy:
31                    copy_file(pkg.file, self.opts.copy,
32                              dryrun=self.opts.dryrun)
33                else:
34                    logger.info("removing "+pkg.file)
35                    if not self.opts.dryrun:
36                        os.unlink(pkg.file)
37        return True
Note: See TracBrowser for help on using the repository browser.