carriersettings-extractor: Make APNs extract optional

Change-Id: Ic7701d660146a400b5e7ee4ee41a940f6d56c455
This commit is contained in:
Michael Bestas
2023-06-11 21:25:43 +03:00
committed by Michael Bestas
parent 9a7adaa7c7
commit cfd6e2d601

View File

@@ -37,7 +37,7 @@ def parse_args():
parser.add_argument('-i', '--input', help='CarrierSettings folder',
required=True)
parser.add_argument('-a', '--apns', help='apns-conf.xml Output folder',
required=True)
required=False)
parser.add_argument('-v', '--vendor', help='vendor.xml Output folder',
required=True)
return parser.parse_args()
@@ -316,6 +316,7 @@ def main():
self.add_attribute('user_visible')
self.add_attribute('user_editable')
if apns_folder is not None:
with open(os.path.join(apns_folder, 'apns-conf.xml'), 'w', encoding='utf-8') as f:
f.write('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n\n')
f.write('<apns version="8">\n\n')
@@ -333,6 +334,18 @@ def main():
f.write(' {}={}\n'.format(escape(key), quoteattr(value)))
f.write(' />\n\n')
f.write('</apns>\n')
# Test XML parsing.
ET.parse(os.path.join(apns_folder, 'apns-conf.xml'))
for entry in carrier_list.entry:
try:
setting = all_settings[entry.canonical_name]
except KeyError:
print("Skipping " + entry.canonical_name, file=sys.stderr)
continue
carrier_config_element = ET.SubElement(
carrier_config_root,
'carrier_config',
@@ -358,11 +371,6 @@ def main():
for config in setting.configs.config:
extract_elements(carrier_config_element, config)
f.write('</apns>\n')
# Test XML parsing.
ET.parse(os.path.join(apns_folder, 'apns-conf.xml'))
indent(carrier_config_root)
carrier_config_tree = ET.ElementTree(carrier_config_root)
carrier_config_tree.write(os.path.join(vendor_folder, 'vendor.xml'),