From 6c40d317e65b2f420d838595b991c9da692526b7 Mon Sep 17 00:00:00 2001 From: Joerg Jaspert Date: Fri, 18 Apr 2008 20:25:42 +0200 Subject: [PATCH] Fix case of an empty transitions file and accept debian native versions in transitions --- dak/transitions.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/dak/transitions.py b/dak/transitions.py index af39ee23..1082fa7c 100755 --- a/dak/transitions.py +++ b/dak/transitions.py @@ -112,6 +112,16 @@ def load_transitions(trans_file): # lets do further validation here checkkeys = ["source", "reason", "packages", "new", "rm"] + + # If we get an empty definition - we just have nothing to check, no transitions defined + if type(trans) != dict: + # This can be anything. We could have no transitions defined. Or someone totally fucked up the + # file, adding stuff in a way we dont know or want. Then we set it empty - and simply have no + # transitions anymore. User will see it in the information display after he quit the editor and + # could fix it + trans = "" + return trans + for test in trans: t = trans[test] @@ -144,8 +154,11 @@ def load_transitions(trans_file): continue elif type(t[key]) != str: - print "ERROR: Unknown type %s for key %s in transition %s" % (type(t[key]), key, test) - failure = True + if t[key] == "new" and type(t[key]) == int: + # Ok, debian native version + else: + print "ERROR: Unknown type %s for key %s in transition %s" % (type(t[key]), key, test) + failure = True # And now the other way round - are all our keys defined? for key in checkkeys: -- 2.39.2