@@ -116,6 +116,14 @@ def re_init(self, vehicle_dir: str, vehicle_type: str):
116
116
[self .doc_dict , self .param_default_dict ] = parse_parameter_metadata (xml_url , xml_dir , PARAM_DEFINITION_XML_FILE ,
117
117
vehicle_type , TOOLTIP_MAX_LENGTH )
118
118
119
+ # Extend parameter documentation metadata if <parameter_file>.pdef.xml exists
120
+ for filename in self .file_parameters :
121
+ pdef_xml_file = filename .replace (".param" , ".pdef.xml" )
122
+ if os_path .exists (os_path .join (xml_dir , pdef_xml_file )):
123
+ [doc_dict , _param_default_dict ] = parse_parameter_metadata ("" , xml_dir , pdef_xml_file ,
124
+ vehicle_type , TOOLTIP_MAX_LENGTH )
125
+ self .doc_dict .update (doc_dict )
126
+
119
127
self .__extend_and_reformat_parameter_documentation_metadata ()
120
128
121
129
def rename_parameter_files (self ):
@@ -130,23 +138,26 @@ def rename_parameter_files(self):
130
138
os_rename (old_filename_path , new_filename_path )
131
139
logging_info ("Renamed %s to %s" , old_filename , new_filename )
132
140
133
- def __extend_and_reformat_parameter_documentation_metadata (self ):
141
+ def __extend_and_reformat_parameter_documentation_metadata (self ): # pylint: disable=too-many-branches
134
142
for param_name , param_info in self .doc_dict .items ():
135
143
if 'fields' in param_info :
136
- if 'Units' in param_info ['fields' ]:
137
- param_info ['unit' ] = param_info ['fields' ]['Units' ].split ('(' )[0 ].strip ()
138
- param_info ['unit_tooltip' ] = param_info ['fields' ]['Units' ].split ('(' )[1 ].strip (')' )
139
- if 'Range' in param_info ['fields' ]:
140
- param_info ['min' ] = float (param_info ['fields' ]['Range' ].split (' ' )[0 ].strip ())
141
- param_info ['max' ] = float (param_info ['fields' ]['Range' ].split (' ' )[1 ].strip ())
142
- if 'Calibration' in param_info ['fields' ]:
143
- param_info ['Calibration' ] = self .str_to_bool (param_info ['fields' ]['Calibration' ].strip ())
144
- if 'ReadOnly' in param_info ['fields' ]:
145
- param_info ['ReadOnly' ] = self .str_to_bool (param_info ['fields' ]['ReadOnly' ].strip ())
146
- if 'RebootRequired' in param_info ['fields' ]:
147
- param_info ['RebootRequired' ] = self .str_to_bool (param_info ['fields' ]['RebootRequired' ].strip ())
148
- if 'Bitmask' in param_info ['fields' ]:
149
- bitmask_items = param_info ['fields' ]['Bitmask' ].split (',' )
144
+ param_fields = param_info ['fields' ]
145
+ if 'Units' in param_fields :
146
+ units_list = param_fields ['Units' ].split ('(' )
147
+ param_info ['unit' ] = units_list [0 ].strip ()
148
+ if len (units_list ) > 1 :
149
+ param_info ['unit_tooltip' ] = units_list [1 ].strip (')' ).strip ()
150
+ if 'Range' in param_fields :
151
+ param_info ['min' ] = float (param_fields ['Range' ].split (' ' )[0 ].strip ())
152
+ param_info ['max' ] = float (param_fields ['Range' ].split (' ' )[1 ].strip ())
153
+ if 'Calibration' in param_fields :
154
+ param_info ['Calibration' ] = self .str_to_bool (param_fields ['Calibration' ].strip ())
155
+ if 'ReadOnly' in param_fields :
156
+ param_info ['ReadOnly' ] = self .str_to_bool (param_fields ['ReadOnly' ].strip ())
157
+ if 'RebootRequired' in param_fields :
158
+ param_info ['RebootRequired' ] = self .str_to_bool (param_fields ['RebootRequired' ].strip ())
159
+ if 'Bitmask' in param_fields :
160
+ bitmask_items = param_fields ['Bitmask' ].split (',' )
150
161
param_info ['Bitmask' ] = {}
151
162
for item in bitmask_items :
152
163
key , value = item .split (':' )
0 commit comments