diff options
author | Bogdano Arendartchuk <bogdano@mandriva.org> | 2007-05-07 21:51:40 +0000 |
---|---|---|
committer | Bogdano Arendartchuk <bogdano@mandriva.org> | 2007-05-07 21:51:40 +0000 |
commit | 11e2e30360a24bcc22ca4231fca495e5d846abb5 (patch) | |
tree | 9bf91715b22e91a7b739c72a08f6a3f4395c1c25 /BuildManager/clean.py | |
download | bm-11e2e30360a24bcc22ca4231fca495e5d846abb5.tar bm-11e2e30360a24bcc22ca4231fca495e5d846abb5.tar.gz bm-11e2e30360a24bcc22ca4231fca495e5d846abb5.tar.bz2 bm-11e2e30360a24bcc22ca4231fca495e5d846abb5.tar.xz bm-11e2e30360a24bcc22ca4231fca495e5d846abb5.zip |
Imported bm-2.1 from2.1
svn+ssh://svn.mandriva.com/svn/packages/cooker/bm/current/SOURCES/bm-2.1.tar.bz2
at r24959.
Diffstat (limited to 'BuildManager/clean.py')
-rw-r--r-- | BuildManager/clean.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/BuildManager/clean.py b/BuildManager/clean.py new file mode 100644 index 0000000..e0e3f93 --- /dev/null +++ b/BuildManager/clean.py @@ -0,0 +1,37 @@ +from BuildManager.fileutil import * +from BuildManager.package import * +from BuildManager import * +import os + +class PackageCleaner: + def __init__(self, opts): + self.opts = opts + + def run(self): + pkglist = PackageList() + pkglist_check = PackageList() + logger.info("creating package list") + for filename in self.opts.args: + pkglist.append(Package(filename)) + if self.opts.check: + for dir in self.opts.check: + logger.info("creating package check list for "+dir) + for entry in os.listdir(dir): + entrypath = os.path.join(dir, entry) + if os.path.isfile(entrypath): + pkglist_check.append(Package(entrypath)) + logger.info("processing package list") + for pkg in pkglist[:]: + if pkglist.has_gt(pkg) or pkglist_check.has_gt(pkg): + pkglist.remove(pkg) + if self.opts.move: + move_file(pkg.file, self.opts.move, + dryrun=self.opts.dryrun) + elif self.opts.copy: + copy_file(pkg.file, self.opts.copy, + dryrun=self.opts.dryrun) + else: + logger.info("removing "+pkg.file) + if not self.opts.dryrun: + os.unlink(pkg.file) + return True |