summaryrefslogtreecommitdiffstats
path: root/BuildManager/clean.py
diff options
context:
space:
mode:
authorBogdano Arendartchuk <bogdano@mandriva.org>2007-05-07 21:51:40 +0000
committerBogdano Arendartchuk <bogdano@mandriva.org>2007-05-07 21:51:40 +0000
commit11e2e30360a24bcc22ca4231fca495e5d846abb5 (patch)
tree9bf91715b22e91a7b739c72a08f6a3f4395c1c25 /BuildManager/clean.py
downloadbm-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.py37
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