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:
+7
-5
@@ -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]:
|
||||
|
||||
Vendored
+6
-1
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user