+ @classmethod
+ def reject_msgs(cls, has):
+ if len(cls.requires) != len([x for x in cls.requires if has[x]]):
+ yield "lack of required files for format %s" % cls.name
+
+ for key in cls.disallowed:
+ if has[key]:
+ yield "contains source files not allowed in format %s" % cls.name
+
+ @classmethod
+ def validate_format(cls, format, is_a_dsc=False, field='files'):
+ if is_a_dsc:
+ if format != (1,0) and \
+ format != (3,0,"quilt") and format != (3,0,"native"):
+ raise UnknownFormatError, repr(format)
+ else:
+ if (format < (1,5) or format > (1,8)):
+ raise UnknownFormatError, repr(format)
+ if field != "files" and format < (1,8):
+ raise UnknownFormatError, repr(format)
+
+class FormatOne(SourceFormat):