carriersettings-extractor: Update to 12

Import proto files from
tools/carrier_settings 0a2c3b9ec4337283b67391971613cd06690a2d34
packages/providers/TelephonyProvider e9b03419e34ed174e239453f958aac0f042bf072

Change-Id: Ied7c51623dc6d14352fbc30db4632311ba455a0e
This commit is contained in:
Luca Stefani
2022-01-10 19:57:11 +01:00
committed by Michael Bestas
parent 33f9e8630b
commit 5b27a24f3e
11 changed files with 602 additions and 1379 deletions

View File

@@ -9,8 +9,8 @@ import sys
from xml.etree import ElementTree as ET
from xml.sax.saxutils import escape, quoteattr
from carriersettings_pb2 import CarrierList, CarrierSettings, \
MultiCarrierSettings
from carrier_settings_pb2 import CarrierSettings, MultiCarrierSettings
from carrier_list_pb2 import CarrierList
from carrierId_pb2 import CarrierList as CarrierIdList
@@ -76,7 +76,7 @@ def main():
(s.lower() for s in getattr(carrier_attribute, i) or [''])
for i in [
'mccmnc_tuple', 'imsi_prefix_xpattern', 'spn', 'plmn',
'gid1', 'gid2', 'preferred_apn', 'iccid_prefix',
'gid1', 'preferred_apn', 'iccid_prefix',
'privilege_access_rule',
]
)):
@@ -93,13 +93,13 @@ def main():
settings = MultiCarrierSettings()
settings.ParseFromString(pb.read())
for setting in settings.setting:
assert setting.canonicalName not in all_settings
all_settings[setting.canonicalName] = setting
assert setting.canonical_name not in all_settings
all_settings[setting.canonical_name] = setting
else:
setting = CarrierSettings()
setting.ParseFromString(pb.read())
assert setting.canonicalName not in all_settings
all_settings[setting.canonicalName] = setting
assert setting.canonical_name not in all_settings
all_settings[setting.canonical_name] = setting
carrier_config_root = ET.Element('carrier_config_list')
@@ -145,12 +145,11 @@ def main():
self.add_attribute(
'carrier_id',
value=str(carrier_attribute_map[(
self.carrier_id.mccMnc,
self.carrier_id.mcc_mnc,
self.carrier_id.imsi,
self.carrier_id.spn.lower(),
'',
self.carrier_id.gid1.lower(),
self.carrier_id.gid2.lower(),
'',
'',
'',
@@ -158,14 +157,14 @@ def main():
)
except KeyError:
pass
self.add_attribute('mcc', value=self.carrier_id.mccMnc[:3])
self.add_attribute('mnc', value=self.carrier_id.mccMnc[3:])
self.add_attribute('mcc', value=self.carrier_id.mcc_mnc[:3])
self.add_attribute('mnc', value=self.carrier_id.mcc_mnc[3:])
self.add_attribute('apn', 'value')
self.add_attribute('proxy')
self.add_attribute('port')
self.add_attribute('mmsc')
self.add_attribute('mmsproxy', 'mmscProxy')
self.add_attribute('mmsport', 'mmscProxyPort')
self.add_attribute('mmsproxy', 'mmsc_proxy')
self.add_attribute('mmsport', 'mmsc_proxy_port')
self.add_attribute('user')
self.add_attribute('password')
self.add_attribute('server')
@@ -180,16 +179,16 @@ def main():
).lower(),
)
self.add_attribute('protocol')
self.add_attribute('roaming_protocol', 'roamingProtocol')
self.add_attribute('carrier_enabled', 'carrierEnabled')
self.add_attribute('bearer_bitmask', 'bearerBitmask')
self.add_attribute('profile_id', 'profileId')
self.add_attribute('modem_cognitive', 'modemCognitive')
self.add_attribute('max_conns', 'maxConns')
self.add_attribute('wait_time', 'waitTime')
self.add_attribute('max_conns_time', 'maxConnsTime')
self.add_attribute('roaming_protocol')
self.add_attribute('carrier_enabled')
self.add_attribute('bearer_bitmask')
self.add_attribute('profile_id')
self.add_attribute('modem_cognitive')
self.add_attribute('max_conns')
self.add_attribute('wait_time')
self.add_attribute('max_conns_time')
self.add_attribute('mtu')
mvno = self.carrier_id.WhichOneof('mvno')
mvno = self.carrier_id.WhichOneof('mvno_data')
if mvno:
self.add_attribute(
'mvno_type',
@@ -199,21 +198,21 @@ def main():
'mvno_match_data',
value=getattr(self.carrier_id, mvno),
)
self.add_attribute('apn_set_id', 'apnSetId')
self.add_attribute('apn_set_id')
# No source for integer carrier_id?
self.add_attribute('skip_464xlat', 'skip464Xlat')
self.add_attribute('user_visible', 'userVisible')
self.add_attribute('user_editable', 'userEditable')
self.add_attribute('skip_464xlat')
self.add_attribute('user_visible')
self.add_attribute('user_editable')
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')
for entry in carrier_list.entry:
setting = all_settings[entry.canonicalName]
setting = all_settings[entry.canonical_name]
for apn in setting.apns.apn:
f.write(' <apn carrier={}\n'.format(quoteattr(apn.name)))
apn_element = ApnElement(apn, entry.carrierId)
apn_element = ApnElement(apn, entry.carrier_id[0])
for (key, value) in apn_element.attributes.items():
f.write(' {}={}\n'.format(escape(key), quoteattr(value)))
f.write(' />\n\n')
@@ -222,26 +221,26 @@ def main():
carrier_config_root,
'carrier_config',
)
carrier_config_element.set('mcc', entry.carrierId.mccMnc[:3])
carrier_config_element.set('mnc', entry.carrierId.mccMnc[3:])
for field in ['spn', 'imsi', 'gid1', 'gid2']:
if entry.carrierId.HasField(field):
carrier_config_element.set('mcc', entry.carrier_id[0].mcc_mnc[:3])
carrier_config_element.set('mnc', entry.carrier_id[0].mcc_mnc[3:])
for field in ['spn', 'imsi', 'gid1']:
if entry.carrier_id[0].HasField(field):
carrier_config_element.set(
field,
getattr(entry.carrierId, field),
getattr(entry.carrier_id[0], field),
)
for config in setting.configs.config:
if config.key in unwanted_configs:
continue
value_type = config.WhichOneof('value')
if value_type == 'textValue':
if value_type == 'text_value':
carrier_config_subelement = ET.SubElement(
carrier_config_element,
'string',
)
carrier_config_subelement.set('name', config.key)
carrier_config_subelement.text = getattr(config, value_type)
elif value_type == 'intValue':
elif value_type == 'int_value':
carrier_config_subelement = ET.SubElement(
carrier_config_element,
'int',
@@ -251,7 +250,7 @@ def main():
'value',
str(getattr(config, value_type)),
)
elif value_type == 'longValue':
elif value_type == 'long_value':
carrier_config_subelement = ET.SubElement(
carrier_config_element,
'long',
@@ -261,7 +260,7 @@ def main():
'value',
str(getattr(config, value_type)),
)
elif value_type == 'boolValue':
elif value_type == "bool_value":
carrier_config_subelement = ET.SubElement(
carrier_config_element,
'boolean',
@@ -271,7 +270,7 @@ def main():
'value',
str(getattr(config, value_type)).lower(),
)
elif value_type == 'textArray':
elif value_type == 'text_array':
carrier_config_subelement = ET.SubElement(
carrier_config_element,
'string-array',
@@ -287,7 +286,7 @@ def main():
'item',
)
carrier_config_item.set('value', value)
elif value_type == 'intArray':
elif value_type == 'int_array':
carrier_config_subelement = ET.SubElement(
carrier_config_element,
'int-array',