]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/utils.py
Merge branch 'merge'
[dak.git] / daklib / utils.py
index 8362c57fd6ce14d8d1ab77bf1b2ac21f65e36673..2b243b85f9d6e19796dd7ec46e33c7f055cefdc4 100755 (executable)
@@ -47,7 +47,7 @@ from regexes import re_html_escaping, html_escaping, re_single_line_field, \
                     re_multi_line_field, re_srchasver, re_taint_free, \
                     re_gpg_uid, re_re_mark, re_whitespace_comment, re_issource
 
-from srcformats import srcformats
+from srcformats import get_format_from_string
 from collections import defaultdict
 
 ################################################################################
@@ -416,12 +416,15 @@ def check_dsc_files(dsc_filename, dsc=None, dsc_files=None):
             rejmsg.append("%s: lists multiple %s" % (dsc_filename, file_type))
 
     # Source format specific tests
-    for format in srcformats:
-        if format.re_format.match(dsc['format']):
-            rejmsg.extend([
-                '%s: %s' % (dsc_filename, x) for x in format.reject_msgs(has)
-            ])
-            break
+    try:
+        format = get_format_from_string(dsc['format'])
+        rejmsg.extend([
+            '%s: %s' % (dsc_filename, x) for x in format.reject_msgs(has)
+        ])
+
+    except UnknownFormatError:
+        # Not an error here for now
+        pass
 
     return rejmsg
 
@@ -523,8 +526,9 @@ def build_file_list(changes, is_a_dsc=0, field="files", hashname="md5sum"):
     if not changes.has_key(field):
         raise NoFilesFieldError
 
-    format = SourceFormat.parse_format(changes.get["format"])
-    SourceFormat.validate_format(format, is_a_dsc=False, field='files')
+    # Get SourceFormat object for this Format and validate it
+    format = get_format_from_string(changes.get['format'])
+    format.validate_format(is_a_dsc=is_a_dsc, field=field)
 
     includes_section = (not is_a_dsc) and field == "files"