UBUNTU: [Packaging] annotations: Preserve single-line annotation rules
Currently, rules with notes are written out as separate lines, i. e., one line for the policy and one line for the note, followed by an empty line. The parser now supports single line rules so preserve that style when writting out the rules. Signed-off-by: Juerg Haefliger <juerg.haefliger@canonical.com> Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
committed by
Paolo Pisati
parent
0c9146f650
commit
7329f4be77
+9
-3
@@ -82,6 +82,7 @@ class Annotation(Config):
|
||||
|
||||
m = re.match(r'.* note<(.*?)>', line)
|
||||
if m:
|
||||
entry['oneline'] = match
|
||||
match = True
|
||||
entry['note'] = "'" + m.group(1).replace("'", '') + "'"
|
||||
|
||||
@@ -284,11 +285,16 @@ class Annotation(Config):
|
||||
if 'policy' in new_val:
|
||||
val = dict(sorted(new_val['policy'].items()))
|
||||
line = f"{conf : <47} policy<{val}>"
|
||||
tmp.write(line + "\n")
|
||||
if 'note' in new_val:
|
||||
val = new_val['note']
|
||||
line = f"{conf : <47} note<{val}>"
|
||||
tmp.write(line + "\n\n")
|
||||
if new_val.get('oneline', False):
|
||||
# Single line
|
||||
line += f' note<{val}>'
|
||||
else:
|
||||
# Separate policy and note lines,
|
||||
# followed by an empty line
|
||||
line += f'\n{conf : <47} note<{val}>\n'
|
||||
tmp.write(line + "\n")
|
||||
|
||||
# Replace annotations with the updated version
|
||||
tmp.flush()
|
||||
|
||||
Reference in New Issue
Block a user