UBUNTU: [Packaging] update annotations scripts

BugLink: https://bugs.launchpad.net/bugs/1786013
Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
This commit is contained in:
Roxana Nicolescu
2024-05-01 15:52:58 +02:00
parent b43457da65
commit 782e3646d1
2 changed files with 13 additions and 6 deletions
+7 -5
View File
@@ -65,6 +65,10 @@ class Annotation(Config):
Parse body of annotations file
"""
def __init__(self, fname, do_include=True, do_json=False):
self.do_json = do_json
super().__init__(fname, do_include=True)
def _parse_body(self, data: str, parent=True):
for line in data.splitlines():
# Replace tabs with spaces, squeeze multiple into singles and
@@ -227,12 +231,10 @@ class Annotation(Config):
self._json_parse(data, is_included=True)
def _parse(self, data: str):
# Try to parse the legacy format first, otherwise use the new JSON
# format.
try:
self._legacy_parse(data)
except SyntaxError:
if self.do_json:
self._json_parse(data, is_included=False)
else:
self._legacy_parse(data)
def _remove_entry(self, config: str):
if self.config[config]:
+6 -1
View File
@@ -75,6 +75,11 @@ def make_parser():
action="store_true",
help="Do not process included annotations (stop at the main file)",
)
parser.add_argument(
"--json",
action="store_true",
help="Try to parse annotations file in pure JSON format",
)
ga = parser.add_argument_group(title="Action").add_mutually_exclusive_group(required=False)
ga.add_argument(
@@ -156,7 +161,7 @@ def print_result(config, data):
def do_query(args):
if args.arch is None and args.flavour is not None:
arg_fail(_ARGPARSER, "error: --flavour requires --arch")
a = Annotation(args.file, do_include=(not args.no_include))
a = Annotation(args.file, do_include=(not args.no_include), do_json=args.json)
res = a.search_config(config=args.config, arch=args.arch, flavour=args.flavour)
# If no arguments are specified dump the whole annotations structure
if args.config is None and args.arch is None and args.flavour is None: