[dak/master 1/2] Clean empty directories from the pool.
Signed-off-by: Chris Lamb <lamby@debian.org>
---
dak/clean_suites.py | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/dak/clean_suites.py b/dak/clean_suites.py
index 24ab0d6..d0efdcc 100755
--- a/dak/clean_suites.py
+++ b/dak/clean_suites.py
@@ -359,6 +359,33 @@ def clean_queue_build(now_date, delete_date, max_delete, session):
################################################################################
+def clean_empty_directories(session):
+ """
+ Removes empty directories from pool directories.
+ """
+
+ count = 0
+
+ cursor = session.execute(
+ "SELECT DISTINCT(path) FROM location WHERE type = :type",
+ {'type': 'pool'},
+ )
+ bases = [x[0] for x in cursor.fetchall()]
+
+ for base in bases:
+ for dirpath, dirnames, filenames in os.walk(base, topdown=False):
+ if not filenames and not dirnames:
+ if not Options["No-Action"]:
+ os.removedirs(os.path.join(base, dirpath))
+ count += 1
+
+ if count:
+ Logger.log(["total", count])
+ print "Cleaned %d empty directories from %d location(s)" % \
+ (count, len(bases))
+
+################################################################################
+
def main():
global Options, Logger
@@ -404,6 +431,7 @@ def main():
clean_maintainers(now_date, delete_date, max_delete, session)
clean_fingerprints(now_date, delete_date, max_delete, session)
clean_queue_build(now_date, delete_date, max_delete, session)
+ clean_empty_directories(session)
Logger.close()
--
1.6.3.3
Reply to: