]> git.decadent.org.uk Git - dak.git/blobdiff - dak/generate_filelist.py
Remove class SuiteAchitecture completely.
[dak.git] / dak / generate_filelist.py
index a2246f5cd3707dbf656886ffcee2bb356140064f..d90338a59d6913c016caf7fdbee8b1b50e0d6a5d 100755 (executable)
@@ -193,48 +193,46 @@ def main():
                  ('i', "incremental",  "Filelist::Options::Incremental")]
     session = DBConn().session()
     query_suites = session.query(Suite)
-    suites = [suite.suite_name for suite in query_suites.all()]
+    suites = [suite.suite_name for suite in query_suites]
     if not cnf.has_key('Filelist::Options::Suite'):
-        cnf['Filelist::Options::Suite'] = ','.join(suites)
-    # we can ask the database for components if 'mixed' is gone
+        cnf['Filelist::Options::Suite'] = ','.join(suites).encode()
+    query_components = session.query(Component)
+    components = \
+        [component.component_name for component in query_components]
     if not cnf.has_key('Filelist::Options::Component'):
-        cnf['Filelist::Options::Component'] = 'main,contrib,non-free'
+        cnf['Filelist::Options::Component'] = ','.join(components).encode()
     query_architectures = session.query(Architecture)
     architectures = \
-        [architecture.arch_string for architecture in query_architectures.all()]
+        [architecture.arch_string for architecture in query_architectures]
     if not cnf.has_key('Filelist::Options::Architecture'):
-        cnf['Filelist::Options::Architecture'] = ','.join(architectures)
+        cnf['Filelist::Options::Architecture'] = ','.join(architectures).encode()
     cnf['Filelist::Options::Help'] = ''
     cnf['Filelist::Options::Incremental'] = ''
     apt_pkg.ParseCommandLine(cnf.Cnf, Arguments, sys.argv)
     Options = cnf.SubTree("Filelist::Options")
     if Options['Help']:
         usage()
-    suite_arch = session.query(SuiteArchitecture)
     threadpool = ThreadPool()
     for suite_name in utils.split_args(Options['Suite']):
         suite = query_suites.filter_by(suite_name = suite_name).one()
-        join = suite_arch.filter_by(suite_id = suite.suite_id)
         for component_name in utils.split_args(Options['Component']):
             component = session.query(Component).\
                 filter_by(component_name = component_name).one()
-            for architecture_name in utils.split_args(Options['Architecture']):
+            for arch_string in utils.split_args(Options['Architecture']):
                 architecture = query_architectures.\
-                    filter_by(arch_string = architecture_name).one()
-                try:
-                    join.filter_by(arch_id = architecture.arch_id).one()
-                    if architecture_name == 'source':
-                        threadpool.queueTask(writeSourceList,
-                            (suite, component, Options['Incremental']))
-                    elif architecture_name != 'all':
-                        threadpool.queueTask(writeBinaryList,
-                            (suite, component, architecture, 'deb',
-                                Options['Incremental']))
-                        threadpool.queueTask(writeBinaryList,
-                            (suite, component, architecture, 'udeb',
-                                Options['Incremental']))
-                except:
+                    filter_by(arch_string = arch_string).one()
+                if architecture not in suite.architectures:
                     pass
+                elif arch_string == 'source':
+                    threadpool.queueTask(writeSourceList,
+                        (suite, component, Options['Incremental']))
+                elif arch_string != 'all':
+                    threadpool.queueTask(writeBinaryList,
+                        (suite, component, architecture, 'deb',
+                            Options['Incremental']))
+                    threadpool.queueTask(writeBinaryList,
+                        (suite, component, architecture, 'udeb',
+                            Options['Incremental']))
     threadpool.joinAll()
     # this script doesn't change the database
     session.close()