def parse_json_angle_format_case(format_name, angle_format, json_data): supported_case = {} unsupported_case = {} support_test = None fallback = None for k, v in angle_format.iteritems(): if k == "FL10Plus": assert support_test is None support_test = "OnlyFL10Plus(deviceCaps)" for k2, v2 in v.iteritems(): supported_case[k2] = v2 elif k == "FL9_3": split = True for k2, v2 in v.iteritems(): unsupported_case[k2] = v2 elif k == "supportTest": assert support_test is None support_test = v elif k == "fallbackFormat": fallback = v else: supported_case[k] = v unsupported_case[k] = v if fallback != None: unsupported_case, _, _ = parse_json_angle_format_case( fallback, json_data[fallback], json_data) unsupported_case["formatName"] = fallback if support_test != None: return supported_case, unsupported_case, support_test else: return supported_case, None, None