]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/contents.py
dak/contents.py, daklib/contents.py: add archive option
[dak.git] / daklib / contents.py
index 2fb7dfcd35b3e8fcb98bcbf5cf68c28a8d087522..aedeb83dff5d529ad0bcf5ee417147841ecd77f2 100644 (file)
@@ -284,7 +284,7 @@ class ContentsWriter(object):
         class_.logger.log(result)
 
     @classmethod
-    def write_all(class_, logger, suite_names = [], component_names = [], force = False):
+    def write_all(class_, logger, archive_names = [], suite_names = [], component_names = [], force = False):
         '''
         Writes all Contents files for suites in list suite_names which defaults
         to all 'touchable' suites if not specified explicitely. Untouchable
@@ -293,6 +293,8 @@ class ContentsWriter(object):
         class_.logger = logger
         session = DBConn().session()
         suite_query = session.query(Suite)
+        if len(archive_names) > 0:
+            suite_query = suite_query.join(Suite.archive).filter(Archive.archive_name.in_(archive_names))
         if len(suite_names) > 0:
             suite_query = suite_query.filter(Suite.suite_name.in_(suite_names))
         component_query = session.query(Component)