未验证 提交 daceadb7 编写于 作者: A Ansgar

parse_changes: use bool instead of int for `dsc_file`

上级 d6acd4f1
......@@ -178,7 +178,7 @@ def check_dscs():
for src in DBConn().session().query(DBSource).order_by(DBSource.source, DBSource.version):
f = src.poolfile.fullpath
try:
utils.parse_changes(f, signing_rules=1, dsc_file=1)
utils.parse_changes(f, signing_rules=1, dsc_file=True)
except InvalidDscError:
utils.warn("syntax error in .dsc file %s" % f)
count += 1
......@@ -371,7 +371,7 @@ def check_files_in_dsc():
try:
# NB: don't enforce .dsc syntax
dsc = utils.parse_changes(filename, dsc_file=1)
dsc = utils.parse_changes(filename, dsc_file=True)
except:
utils.fubar("error parsing .dsc file '%s'." % (filename))
......@@ -480,7 +480,7 @@ def chk_bd_process_dir(dirname, filenames):
if not name.endswith(".dsc"):
continue
filename = os.path.abspath(dirname + '/' + name)
dsc = utils.parse_changes(filename, dsc_file=1)
dsc = utils.parse_changes(filename, dsc_file=True)
for field_name in ["build-depends", "build-depends-indep"]:
field = dsc.get(field_name)
if field:
......
......@@ -174,7 +174,7 @@ def flush_orphans():
for f in files.keys():
if f.endswith(".dsc"):
try:
dsc = utils.parse_changes(f, dsc_file=1)
dsc = utils.parse_changes(f, dsc_file=True)
dsc_files = utils.build_file_list(dsc, is_a_dsc=True)
except:
utils.warn("error processing '%s'; skipping it. [Got %s]" % (f, sys.exc_info()[0]))
......
......@@ -309,7 +309,7 @@ def read_changes_or_dsc(suite, filename, session=None):
with open(filename) as dsc_file:
try:
dsc = utils.parse_changes(filename, dsc_file=1)
dsc = utils.parse_changes(filename, dsc_file=True)
except:
return formatted_text("can't parse .dsc control info")
......
......@@ -167,7 +167,7 @@ def parse_deb822(armored_contents: bytes, signing_rules=0, keyrings=None) -> dic
################################################################################
def parse_changes(filename: str, signing_rules=0, dsc_file=0, keyrings=None) -> dict[str, str]:
def parse_changes(filename: str, signing_rules=0, dsc_file: bool = False, keyrings=None) -> dict[str, str]:
"""
Parses a changes file and returns a dictionary where each field is a
key. The mandatory first argument is the filename of the .changes
......
......@@ -23,50 +23,50 @@ class ParseDscTestCase(ParseChangesTestCase):
def test_1_ignoreErrors(self):
# Valid .dsc ; ignoring errors
self.assertParse('dsc/1.dsc', -1, 1)
self.assertParse('dsc/1.dsc', -1, True)
def test_2(self):
# Missing blank line before signature body
self.assertParse('dsc/2.dsc', -1, 1)
self.assertParse('dsc/2.dsc', -1, True)
def test_2_ignoreErrors(self):
# Invalid .dsc ; ignoring errors
self.assertParse('dsc/2.dsc', -1, 1)
self.assertParse('dsc/2.dsc', -1, True)
def test_3(self):
# Missing blank line after signature header
self.assertParse('dsc/3.dsc', -1, 1)
self.assertParse('dsc/3.dsc', -1, True)
def test_4(self):
# No blank lines at all
with self.assertRaises(GpgException):
self.assertParse('dsc/4.dsc', -1, 1)
self.assertParse('dsc/4.dsc', -1, True)
def test_5(self):
# Extra blank line before signature body
self.assertParse('dsc/5.dsc', -1, 1)
self.assertParse('dsc/5.dsc', -1, True)
def test_6(self):
# Extra blank line after signature header
self.assertParse('dsc/6.dsc', -1, 1)
self.assertParse('dsc/6.dsc', -1, True)
def test_7(self):
# Blank file is an invalid armored GPG file
with self.assertRaises(GpgException):
self.assertParse('dsc/7.dsc', -1, 1)
self.assertParse('dsc/7.dsc', -1, True)
def test_8(self):
# No armored contents
with self.assertRaisesRegex(ParseChangesError, "Empty changes"):
self.assertParse('dsc/8.dsc', -1, 1)
self.assertParse('dsc/8.dsc', -1, True)
def test_9(self):
changes = self.assertParse('dsc/9.dsc', -1, 1)
changes = self.assertParse('dsc/9.dsc', -1, True)
self.assertTrue(changes['question'] == 'Is this a bug?')
self.assertFalse(changes.get('this'))
def test_10(self):
changes = self.assertParse('dsc/10.dsc', -1, 1)
changes = self.assertParse('dsc/10.dsc', -1, True)
files = build_file_list(changes, True)
rejmsg = check_dsc_files('10.dsc', changes, files.keys())
self.assertEqual(rejmsg, [])
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册