load adjustment values and their default values from XML
()
| 175 | |
| 176 | |
| 177 | def load_adjustment_values(): |
| 178 | """load adjustment values and their default values from XML""" |
| 179 | # parse XML -------------------------------------------- |
| 180 | thisdir = os.path.split(__file__)[0] |
| 181 | prst_defs_relpath = ( |
| 182 | 'ISO-IEC-29500-1/schemas/dml-geometries/OfficeOpenXML-DrawingMLGeomet' |
| 183 | 'ries/presetShapeDefinitions.xml' |
| 184 | ) |
| 185 | prst_defs_path = os.path.join(thisdir, prst_defs_relpath) |
| 186 | presetShapeDefinitions = objectify.parse(prst_defs_path).getroot() |
| 187 | # load individual records into tuples to return -------- |
| 188 | ns = 'http://schemas.openxmlformats.org/drawingml/2006/main' |
| 189 | avLst_qn = '{%s}avLst' % ns |
| 190 | adjustment_values = [] |
| 191 | for shapedef in presetShapeDefinitions.iterchildren(): |
| 192 | prst = shapedef.tag |
| 193 | try: |
| 194 | avLst = shapedef[avLst_qn] |
| 195 | except AttributeError: |
| 196 | continue |
| 197 | for idx, gd in enumerate(avLst.gd): |
| 198 | name = gd.get('name') |
| 199 | val = int(gd.get('fmla')[4:]) # strip off leading 'val ' |
| 200 | record = (prst, idx+1, name, val) |
| 201 | adjustment_values.append(record) |
| 202 | return adjustment_values |
| 203 | |
| 204 | |
| 205 | def print_mso_auto_shape_type_constants(): |
no test coverage detected
searching dependent graphs…