]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/utils.py
Merge commit 'ftpmaster/master'
[dak.git] / daklib / utils.py
index 8362c57fd6ce14d8d1ab77bf1b2ac21f65e36673..a6660ae1b9e291f89306dbc4ab1b032a09491ba5 100755 (executable)
@@ -47,7 +47,8 @@ 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 formats import parse_format, validate_changes_format
+from srcformats import get_format_from_string
 from collections import defaultdict
 
 ################################################################################
@@ -416,12 +417,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 +527,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')
+    # Validate .changes Format: field
+    if not is_a_dsc:
+        validate_changes_format(parse_format(changes['format']), field)
 
     includes_section = (not is_a_dsc) and field == "files"
 
@@ -1501,5 +1506,3 @@ apt_pkg.ReadConfigFileISC(Cnf,default_config)
 
 if which_conf_file() != default_config:
     apt_pkg.ReadConfigFileISC(Cnf,which_conf_file())
-
-###############################################################################