armodel 1.8.1__py3-none-any.whl → 1.8.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. armodel/cli/format_xml_cli.py +62 -0
  2. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +1 -1
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +17 -15
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +1 -1
  5. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +44 -28
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +5 -5
  7. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +13 -1
  8. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +247 -45
  9. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +9 -6
  10. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +7 -5
  11. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +3 -3
  12. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +43 -2
  13. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +40 -43
  14. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +13 -12
  15. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +40 -9
  16. armodel/parser/abstract_arxml_parser.py +4 -0
  17. armodel/parser/arxml_parser.py +88 -56
  18. armodel/tests/test_armodel/models/test_common_structure.py +2 -2
  19. armodel/tests/test_armodel/parser/test_arxml_parser.py +38 -0
  20. armodel/tests/test_armodel/parser/test_implementation_data_type.py +247 -0
  21. armodel/tests/test_armodel/parser/test_rte_event.py +142 -0
  22. armodel/tests/test_armodel/parser/test_runnable_entity.py +135 -0
  23. armodel/writer/abstract_arxml_writer.py +2 -0
  24. armodel/writer/arxml_writer.py +89 -25
  25. {armodel-1.8.1.dist-info → armodel-1.8.3.dist-info}/METADATA +14 -1
  26. {armodel-1.8.1.dist-info → armodel-1.8.3.dist-info}/RECORD +30 -26
  27. {armodel-1.8.1.dist-info → armodel-1.8.3.dist-info}/entry_points.txt +1 -0
  28. {armodel-1.8.1.dist-info → armodel-1.8.3.dist-info}/LICENSE +0 -0
  29. {armodel-1.8.1.dist-info → armodel-1.8.3.dist-info}/WHEEL +0 -0
  30. {armodel-1.8.1.dist-info → armodel-1.8.3.dist-info}/top_level.txt +0 -0
@@ -42,7 +42,8 @@ from ..models.M2.AUTOSARTemplates.CommonStructure import TextValueSpecification,
42
42
  from ..models.M2.AUTOSARTemplates.CommonStructure.FlatMap import FlatInstanceDescriptor, FlatMap
43
43
  from ..models.M2.AUTOSARTemplates.CommonStructure.Filter import DataFilter
44
44
  from ..models.M2.AUTOSARTemplates.CommonStructure.Implementation import Code, Implementation, ImplementationProps
45
- from ..models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
45
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import AbstractImplementationDataTypeElement, ImplementationDataType
46
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataTypeElement
46
47
  from ..models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
47
48
  from ..models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
48
49
  from ..models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclaration, ModeDeclarationGroup, ModeDeclarationGroupPrototype
@@ -87,6 +88,7 @@ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identi
87
88
  from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, ARLiteral, Limit
88
89
  from ..models.M2.AUTOSARTemplates.GenericStructure.LifeCycles import LifeCycleInfo, LifeCycleInfoSet, LifeCyclePeriod
89
90
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest
91
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransformationComSpecProps, UserDefinedTransformationComSpecProps
90
92
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransmissionAcknowledgementRequest
91
93
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec
92
94
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec
@@ -130,8 +132,10 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import
130
132
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AutosarVariableRef import AutosarVariableRef
131
133
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
132
134
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
135
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import VariableInAtomicSWCTypeInstanceRef
133
136
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PortAPIOptions import PortDefinedArgumentValue
134
137
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, BackgroundEvent
138
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataSendCompletedEvent
135
139
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent
136
140
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import ModeSwitchedAckEvent, OperationInvokedEvent, RTEEvent
137
141
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import SwcModeSwitchEvent, TimingEvent
@@ -235,6 +239,7 @@ class ARXMLWriter(AbstractARXMLWriter):
235
239
  def writeSds(self, parent: ET.Element, sdg: Sdg):
236
240
  for sd in sdg.getSds():
237
241
  sd_tag = ET.SubElement(parent, "SD")
242
+ self.writeARObjectAttributes(sd_tag, sd)
238
243
  if sd.gid is not None:
239
244
  sd_tag.attrib['GID'] = sd.gid
240
245
  sd_tag.text = sd.value
@@ -252,12 +257,13 @@ class ARXMLWriter(AbstractARXMLWriter):
252
257
  def setSdg(self, element: ET.Element, sdg: Sdg):
253
258
  if sdg is not None:
254
259
  child_element = ET.SubElement(element, "SDG")
260
+ self.writeARObjectAttributes(child_element, sdg)
255
261
  if sdg.gid is not None and sdg.gid != "":
256
262
  child_element.attrib['GID'] = sdg.gid
257
263
  self.writeSdgCaption(child_element, sdg)
258
- self.writeSds(child_element, sdg)
259
264
  for sdg_item in sdg.getSdgContentsTypes():
260
265
  self.setSdg(child_element, sdg_item)
266
+ self.writeSds(child_element, sdg)
261
267
  self.writeSdgSdxRefs(child_element, sdg)
262
268
 
263
269
  def writeAdminDataSdgs(self, parent: ET.Element, admin_data: AdminData):
@@ -362,6 +368,7 @@ class ARXMLWriter(AbstractARXMLWriter):
362
368
  if admin_data is not None:
363
369
  self.logger.debug("Write AdminData")
364
370
  child_element = ET.SubElement(element, "ADMIN-DATA")
371
+ self.writeARObjectAttributes(child_element, admin_data)
365
372
  self.setChildElementOptionalLiteral(child_element, "LANGUAGE", admin_data.getLanguage())
366
373
  self.setMultiLanguagePlainText(child_element, "USED-LANGUAGES", admin_data.getUsedLanguages())
367
374
  self.writeAdminDataSdgs(child_element, admin_data)
@@ -403,11 +410,31 @@ class ARXMLWriter(AbstractARXMLWriter):
403
410
  self.writeSenderComSpec(child_element, com_spec)
404
411
  self.setValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
405
412
 
413
+ def writeTransformationComSpecProps(self, element: ET.Element, prop: TransformationComSpecProps):
414
+ if prop is not None:
415
+ self.writeARObjectAttributes(element, prop)
416
+
417
+ def writeUserDefinedTransformationComSpecProps(self, element: ET.Element, prop: UserDefinedTransformationComSpecProps):
418
+ if prop is not None:
419
+ child_element = ET.SubElement(element, "USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS")
420
+ self.writeTransformationComSpecProps(child_element, prop)
421
+
422
+ def writeServerComSpecTransformationComSpecProps(self, element: ET.Element, com_spec: ServerComSpec):
423
+ props = com_spec.getTransformationComSpecProps()
424
+ if len(props) > 0:
425
+ child_element = ET.SubElement(element, "TRANSFORMATION-COM-SPEC-PROPSS")
426
+ for prop in props:
427
+ if isinstance(prop, UserDefinedTransformationComSpecProps):
428
+ self.writeUserDefinedTransformationComSpecProps(child_element, prop)
429
+ else:
430
+ self.notImplemented("Unsupported TransformationComSpecProps %s" % type(prop))
431
+
406
432
  def writeServerComSpec(self, element: ET.Element, com_spec: ServerComSpec):
407
433
  child_element = ET.SubElement(element, "SERVER-COM-SPEC")
408
434
  self.writeARObjectAttributes(child_element, com_spec)
409
435
  self.setChildElementOptionalRefType(child_element, "OPERATION-REF", com_spec.getOperationRef())
410
436
  self.setChildElementOptionalNumericalValue(child_element, "QUEUE-LENGTH", com_spec.getQueueLength())
437
+ self.writeServerComSpecTransformationComSpecProps(child_element, com_spec)
411
438
 
412
439
  def writeQueuedSenderComSpec(self, element: ET.Element, com_spec: QueuedSenderComSpec):
413
440
  child_element = ET.SubElement(element, "QUEUED-SENDER-COM-SPEC")
@@ -463,6 +490,8 @@ class ARXMLWriter(AbstractARXMLWriter):
463
490
  self.setSwDataDefProps(element, "NETWORK-REPRESENTATION", com_spec.getNetworkRepresentation())
464
491
  self.setChildElementOptionalLiteral(element, "HANDLE-OUT-OF-RANGE", com_spec.getHandleOutOfRange())
465
492
  self.setChildElementOptionalLiteral(element, "HANDLE-OUT-OF-RANGE-STATUS", com_spec.getHandleOutOfRangeStatus())
493
+ self.setChildElementOptionalPositiveInteger(element, "MAX-DELTA-COUNTER-INIT", com_spec.getMaxDeltaCounterInit())
494
+ self.setChildElementOptionalPositiveInteger(element, "MAX-NO-NEW-OR-REPEATED-DATA", com_spec.getMaxNoNewOrRepeatedData())
466
495
  self.setChildElementOptionalBooleanValue(element, "USES-END-TO-END-PROTECTION", com_spec.getUsesEndToEndProtection())
467
496
 
468
497
  def setSwValues(self, element: ET.Element, key: str, sw_values: SwValues):
@@ -502,7 +531,7 @@ class ARXMLWriter(AbstractARXMLWriter):
502
531
  if value_spec is not None:
503
532
  value_spec_tag = ET.SubElement(element, "NUMERICAL-VALUE-SPECIFICATION")
504
533
  self.writeValueSpecification(value_spec_tag, value_spec)
505
- self.setChildElementOptionalFloatValue(value_spec_tag, "VALUE", value_spec.getValue())
534
+ self.setChildElementOptionalNumericalValue(value_spec_tag, "VALUE", value_spec.getValue())
506
535
 
507
536
  def writeArrayValueSpecification(self, element: ET.Element, value_spec: ArrayValueSpecification):
508
537
  value_spec_tag = ET.SubElement(element, "ARRAY-VALUE-SPECIFICATION")
@@ -556,6 +585,7 @@ class ARXMLWriter(AbstractARXMLWriter):
556
585
  self.setDataFilter(child_element, "FILTER", com_spec.getFilter())
557
586
  self.setChildElementOptionalBooleanValue(child_element, "HANDLE-NEVER-RECEIVED", com_spec.getHandleNeverReceived())
558
587
  self.setChildElementOptionalLiteral(child_element, "HANDLE-TIMEOUT-TYPE", com_spec.getHandleTimeoutType())
588
+
559
589
  self.setValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
560
590
 
561
591
  def writeQueuedReceiverComSpec(self, element: ET.Element, com_spec: QueuedReceiverComSpec):
@@ -919,12 +949,12 @@ class ARXMLWriter(AbstractARXMLWriter):
919
949
  self.setChildElementOptionalRefType(conditional_tag, "UNIT-REF", props.getUnitRef())
920
950
 
921
951
  def setApplicationDataType(self, element: ET.Element, data_type: ApplicationDataType):
922
- self.setAutosarDataType(element, data_type)
952
+ self.writeAutosarDataType(element, data_type)
923
953
 
924
954
  def setApplicationCompositeDataType(self, element: ET.Element, data_type: ApplicationCompositeDataType):
925
955
  self.setApplicationDataType(element, data_type)
926
956
 
927
- def setAutosarDataType(self, element: ET.Element, data_type: AutosarDataType):
957
+ def writeAutosarDataType(self, element: ET.Element, data_type: AutosarDataType):
928
958
  self.writeARElement(element, data_type)
929
959
  self.setSwDataDefProps(element, "SW-DATA-DEF-PROPS", data_type.getSwDataDefProps())
930
960
 
@@ -1019,13 +1049,14 @@ class ARXMLWriter(AbstractARXMLWriter):
1019
1049
  else:
1020
1050
  self.notImplemented("Unsupported CompuConstContent <%s>" % type(content))
1021
1051
 
1022
- def setCompuScale(self, element: ET.Element, key: str, compu_scale: CompuScale):
1052
+ def writeCompuScale(self, element: ET.Element, key: str, compu_scale: CompuScale):
1023
1053
  if compu_scale is not None:
1024
1054
  child_element = ET.SubElement(element, key)
1025
1055
  self.writeARObjectAttributes(child_element, compu_scale)
1026
1056
  self.setChildElementOptionalLiteral(child_element, "SHORT-LABEL", compu_scale.getShortLabel())
1027
1057
  self.setChildElementOptionalLiteral(child_element, "SYMBOL", compu_scale.getSymbol())
1028
1058
  self.setMultiLanguageOverviewParagraph(child_element, "DESC", compu_scale.getDesc())
1059
+ self.setChildElementOptionalPositiveInteger(child_element, "MASK", compu_scale.getMask())
1029
1060
  self.setChildLimitElement(child_element, "LOWER-LIMIT", compu_scale.getLowerLimit())
1030
1061
  self.setChildLimitElement(child_element, "UPPER-LIMIT", compu_scale.getUpperLimit())
1031
1062
  self.writeCompuScaleContents(child_element, compu_scale)
@@ -1034,7 +1065,7 @@ class ARXMLWriter(AbstractARXMLWriter):
1034
1065
  if compu_scales is not None:
1035
1066
  child_element = ET.SubElement(element, "COMPU-SCALES")
1036
1067
  for compu_scale in compu_scales.getCompuScales():
1037
- self.setCompuScale(child_element, "COMPU-SCALE", compu_scale)
1068
+ self.writeCompuScale(child_element, "COMPU-SCALE", compu_scale)
1038
1069
 
1039
1070
  def setCompuConst(self, element: ET.Element, key: str, compu_const: CompuConst):
1040
1071
  if compu_const is not None:
@@ -1221,6 +1252,12 @@ class ARXMLWriter(AbstractARXMLWriter):
1221
1252
  child_element = ET.SubElement(element, "BACKGROUND-EVENT")
1222
1253
  self.setRTEEvent(child_element, event)
1223
1254
 
1255
+ def writeDataSendCompletedEvent(self, element: ET.Element, event: DataSendCompletedEvent):
1256
+ if event is not None:
1257
+ child_element = ET.SubElement(element, "DATA-SEND-COMPLETED-EVENT")
1258
+ self.setRTEEvent(child_element, event)
1259
+ self.setChildElementOptionalRefType(child_element, "EVENT-SOURCE-REF", event.getEventSourceRef())
1260
+
1224
1261
  def writeSwcInternalBehaviorEvents(self, element: ET.Element, parent: SwcInternalBehavior):
1225
1262
  events = parent.getRteEvents()
1226
1263
  if len(events) > 0:
@@ -1245,6 +1282,8 @@ class ARXMLWriter(AbstractARXMLWriter):
1245
1282
  self.writeModeSwitchedAckEvent(child_element, event)
1246
1283
  elif isinstance(event, BackgroundEvent):
1247
1284
  self.writeBackgroundEvent(child_element, event)
1285
+ elif isinstance(event, DataSendCompletedEvent):
1286
+ self.writeDataSendCompletedEvent(child_element, event)
1248
1287
  else:
1249
1288
  self.notImplemented("Unsupported Event <%s>" % type(event))
1250
1289
 
@@ -1278,15 +1317,18 @@ class ARXMLWriter(AbstractARXMLWriter):
1278
1317
  self.writeExclusiveAreas(element, behavior)
1279
1318
  self.writeInternalBehaviorStaticMemories(element, behavior)
1280
1319
 
1320
+ def setVariableInAtomicSWCTypeInstanceRef(self, element: ET.Element, key: str, iref: VariableInAtomicSWCTypeInstanceRef):
1321
+ if iref is not None:
1322
+ child_element = ET.SubElement(element, key)
1323
+ self.writeARObjectAttributes(child_element, iref)
1324
+ self.setChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF", iref.getPortPrototypeRef())
1325
+ self.setChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF", iref.getTargetDataPrototypeRef())
1326
+
1281
1327
  def setAutosarVariableRef(self, element: ET.Element, key: str, ref: AutosarVariableRef):
1282
1328
  if ref is not None:
1283
1329
  child_element = ET.SubElement(element, key)
1284
1330
  self.writeARObjectAttributes(child_element, ref)
1285
- if ref.getAutosarVariableIRef() is not None:
1286
- child_element = ET.SubElement(child_element, "AUTOSAR-VARIABLE-IREF")
1287
- # self.setARObjectAttributes(child_element, ref)
1288
- self.setChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF", ref.getAutosarVariableIRef().getPortPrototypeRef())
1289
- self.setChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF", ref.getAutosarVariableIRef().getTargetDataPrototypeRef()) # noqa E501
1331
+ self.setVariableInAtomicSWCTypeInstanceRef(child_element, "AUTOSAR-VARIABLE-IREF", ref.getAutosarVariableIRef())
1290
1332
  self.setChildElementOptionalRefType(child_element, "LOCAL-VARIABLE-REF", ref.getLocalVariableRef())
1291
1333
 
1292
1334
  def setComponentInSystemInstanceRef(self, element: ET.Element, tag_name: str, ref: ComponentInSystemInstanceRef):
@@ -1426,6 +1468,7 @@ class ARXMLWriter(AbstractARXMLWriter):
1426
1468
  def writeModeAccessPoint(self, element: ET.Element, point: ModeAccessPoint):
1427
1469
  if point is not None:
1428
1470
  child_element = ET.SubElement(element, "MODE-ACCESS-POINT")
1471
+ self.writeARObjectAttributes(child_element, point)
1429
1472
  self.setModeGroupIRef(child_element, "MODE-GROUP-IREF", point.getModeGroupIRef())
1430
1473
 
1431
1474
  def writeRunnableEntityModeAccessPoints(self, element: ET.Element, entity: RunnableEntity):
@@ -1605,6 +1648,7 @@ class ARXMLWriter(AbstractARXMLWriter):
1605
1648
 
1606
1649
  def writeRoleBasedPortAssignment(self, element: ET.Element, assignment: RoleBasedPortAssignment):
1607
1650
  child_element = ET.SubElement(element, "ROLE-BASED-PORT-ASSIGNMENT")
1651
+ self.writeARObjectAttributes(child_element, assignment)
1608
1652
  self.setChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF", assignment.portPrototypeRef)
1609
1653
  self.setChildElementOptionalLiteral(child_element, "ROLE", assignment.role)
1610
1654
 
@@ -2531,18 +2575,38 @@ class ARXMLWriter(AbstractARXMLWriter):
2531
2575
  self.setChildElementOptionalLiteral(child_element, "VENDOR-API-INFIX", impl.getVendorApiInfix())
2532
2576
  self.writeBswImplementationVendorSpecificModuleDefRefs(child_element, impl)
2533
2577
 
2534
- def writeImplementationDataTypeElements(self, element: ET.Element, parent: ImplementationDataType):
2578
+ def writeAbstractImplementationDataTypeElement(self, element: ET.Element, impl_data_type_element: AbstractImplementationDataTypeElement):
2579
+ self.writeARElement(element, impl_data_type_element)
2580
+
2581
+ def writeImplementationDataTypeElementSubElements(self, element: ET.Element, parent: ImplementationDataTypeElement):
2582
+ sub_elements = parent.getSubElements()
2583
+ if len(sub_elements) > 0:
2584
+ child_element = ET.SubElement(element, "SUB-ELEMENTS")
2585
+ for sub_element in sub_elements:
2586
+ if isinstance(sub_element, ImplementationDataTypeElement):
2587
+ self.writeImplementationDataTypeElement(child_element, sub_element)
2588
+ else:
2589
+ self.notImplemented("Unsupported ImplementationDataTypeElement SubElement <%s>" % type(sub_element))
2590
+
2591
+ def writeImplementationDataTypeElement(self, element: ET.Element, impl_data_type_element: ImplementationDataTypeElement):
2592
+ self.logger.debug("writeImplementationDataTypeElement %s" % impl_data_type_element.getShortName())
2593
+ child_element = ET.SubElement(element, "IMPLEMENTATION-DATA-TYPE-ELEMENT")
2594
+ self.writeAbstractImplementationDataTypeElement(child_element, impl_data_type_element)
2595
+ self.setChildElementOptionalLiteral(child_element, "ARRAY-SIZE", impl_data_type_element.getArraySize())
2596
+ self.setChildElementOptionalLiteral(child_element, "ARRAY-SIZE-HANDLING", impl_data_type_element.getArraySizeHandling())
2597
+ self.setChildElementOptionalLiteral(child_element, "ARRAY-SIZE-SEMANTICS", impl_data_type_element.getArraySizeSemantics())
2598
+ self.writeImplementationDataTypeElementSubElements(child_element, impl_data_type_element)
2599
+ self.setSwDataDefProps(child_element, "SW-DATA-DEF-PROPS", impl_data_type_element.getSwDataDefProps())
2600
+
2601
+ def writeImplementationDataTypeSubElements(self, element: ET.Element, parent: ImplementationDataType):
2535
2602
  sub_elements = parent.getSubElements()
2536
2603
  if len(sub_elements) > 0:
2537
- sub_elements_tag = ET.SubElement(element, "SUB-ELEMENTS")
2538
- for type_element in sub_elements:
2539
- child_element = ET.SubElement(sub_elements_tag, "IMPLEMENTATION-DATA-TYPE-ELEMENT")
2540
- self.writeIdentifiable(child_element, type_element)
2541
- self.setChildElementOptionalLiteral(child_element, "ARRAY-SIZE", type_element.getArraySize())
2542
- self.setChildElementOptionalLiteral(child_element, "ARRAY-SIZE-HANDLING", type_element.getArraySizeHandling())
2543
- self.setChildElementOptionalLiteral(child_element, "ARRAY-SIZE-SEMANTICS", type_element.getArraySizeSemantics())
2544
- self.writeImplementationDataTypeElements(child_element, type_element)
2545
- self.setSwDataDefProps(child_element, "SW-DATA-DEF-PROPS", type_element.getSwDataDefProps())
2604
+ child_element = ET.SubElement(element, "SUB-ELEMENTS")
2605
+ for sub_element in sub_elements:
2606
+ if isinstance(sub_element, ImplementationDataTypeElement):
2607
+ self.writeImplementationDataTypeElement(child_element, sub_element)
2608
+ else:
2609
+ self.notImplemented("Unsupported ImplementationDataType SubElement <%s>" % type(sub_element))
2546
2610
 
2547
2611
  def writeImplementationProps(self, element: ET.Element, props: ImplementationProps):
2548
2612
  self.writeReferrable(element, props)
@@ -2559,10 +2623,10 @@ class ARXMLWriter(AbstractARXMLWriter):
2559
2623
  def writeImplementationDataType(self, element: ET.Element, data_type: ImplementationDataType):
2560
2624
  self.logger.debug("writeImplementationDataType %s" % data_type.getShortName())
2561
2625
  child_element = ET.SubElement(element, "IMPLEMENTATION-DATA-TYPE")
2562
- self.setAutosarDataType(child_element, data_type)
2626
+ self.writeAutosarDataType(child_element, data_type)
2563
2627
  self.setChildElementOptionalLiteral(child_element, "DYNAMIC-ARRAY-SIZE-PROFILE", data_type.getDynamicArraySizeProfile())
2564
- self.writeImplementationDataTypeElements(child_element, data_type)
2565
2628
  self.writeImplementationDataTypeSymbolProps(child_element, data_type)
2629
+ self.writeImplementationDataTypeSubElements(child_element, data_type)
2566
2630
  self.setChildElementOptionalLiteral(child_element, "TYPE-EMITTER", data_type.getTypeEmitter())
2567
2631
 
2568
2632
  def writeArgumentDataPrototype(self, element: ET.Element, prototype: ArgumentDataPrototype):
@@ -5581,7 +5645,7 @@ class ARXMLWriter(AbstractARXMLWriter):
5581
5645
  def writeBufferPropertiesBufferComputation(self, element: ET.Element, properties: BufferProperties):
5582
5646
  computation = properties.getBufferComputation()
5583
5647
  if computation is not None:
5584
- self.setCompuScale(element, "BUFFER-COMPUTATION", computation)
5648
+ self.writeCompuScale(element, "BUFFER-COMPUTATION", computation)
5585
5649
 
5586
5650
  def setBufferProperties(self, element: ET.Element, key: str, properties: BufferProperties):
5587
5651
  if properties is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: armodel
3
- Version: 1.8.1
3
+ Version: 1.8.3
4
4
  Summary: the python arxml parser
5
5
  Home-page: http://github.com/melodypapa/py-armodel
6
6
  Author: melodypapa
@@ -617,4 +617,17 @@ Fix the attribute intervalType of **Limit** is empty issue.
617
617
  * ECUC-ENUMERATION-PARAM-DEF
618
618
  2. Same short name with different type can be added and located.
619
619
 
620
+ **Version 1.8.2**
621
+
622
+ 1. Fix the AUTOSAR XML schema issue
623
+
624
+ **Version 1.8.3**
625
+
626
+ 1. To support the SHORT-LABEL for VALUE
627
+ 2. To Support the following AR Element:
628
+ * MAX-DELTA-COUNTER-INIT
629
+ * MAX-NO-NEW-OR-REPEATED-DATA
630
+ * USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS
631
+ * MASK
632
+
620
633
 
@@ -5,6 +5,7 @@ armodel/cli/arxml_format_cli.py,sha256=0rqExyu6_jvlTuyDshBugW-w2QFjjyLQIFcEgcZmx
5
5
  armodel/cli/connector2xlsx_cli.py,sha256=hNrVRkSBlkVO3aNOQMmvmf2fPZ-ijILukKrqh5v-m4k,2163
6
6
  armodel/cli/connector_update_cli.py,sha256=glEONaSKBpKGzKW3X_Gvvr0ovzjVxGo_-qbYfWh9__E,2294
7
7
  armodel/cli/file_list_cli.py,sha256=bDoQxSErMwA1dO-N0PBEwKBIXf5Y4hbMauFYmcubkEs,2220
8
+ armodel/cli/format_xml_cli.py,sha256=FGOmC78qFxl5zeaC8tAWZUcFu6CicJbGfCsQCA7ekfA,1716
8
9
  armodel/cli/memory_section_cli.py,sha256=YPhnfP9dd8yjPG_F32FaKhnCGVmLIK-WH33Jbup31O8,2179
9
10
  armodel/cli/swc_list_cli.py,sha256=yrObi-imM3X6M8R5y5KrZlAdq2IE4mltP9-aH_iwlqk,2441
10
11
  armodel/cli/system_signal_cli.py,sha256=nOVVMZtcSHytmZ8ln-zwu4mhY4Oi9i13RbMyS-RdlEQ,2141
@@ -16,7 +17,7 @@ armodel/lib/sw_component.py,sha256=spUeVR8ftzqf9h-pilh17qQg8amYqcqh39XKYql3HO4,1
16
17
  armodel/lib/system_signal.py,sha256=E3FNiUGRUZovTCclCkabkVPpScMIACOXERUpbAuBTv8,1397
17
18
  armodel/models/__init__.py,sha256=Oj9ea8HUVNZ9I_BUiH72LT23rGSJAwx5lcdmW_8O9fM,6017
18
19
  armodel/models/M2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py,sha256=uBtVJ3frSO1dbXR8Mdy31yyks06zy6od39ApudkV-k8,11574
20
+ armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py,sha256=xzaoUjGPC4HX_C05pjS_i1XaBuktavwZ67VUDQckkS4,11612
20
21
  armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py,sha256=m9EMGnfdOeRbSFYcGabrCtOpZvb6uy2o03GoQ_MFpLQ,12261
21
22
  armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py,sha256=umY2aFmJepGOsmOTtfWTYeqY5KPb7bw4E0oazAUA7Wk,51238
22
23
  armodel/models/M2/AUTOSARTemplates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -28,13 +29,13 @@ armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py,sha256=IY7GCwsk
28
29
  armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py,sha256=siMMcMNN0zQgLMdmumWGXMUDtgMytUImoarQT0HctSE,2825
29
30
  armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py,sha256=CEv_PUPC4bSCX5xCQKYF_GV9LnUmQClmsSz9iWlYfrk,2684
30
31
  armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py,sha256=78hfpTLAPZUdRk54J1nJ-r0QwqPfG2C28Z1-umZCDtI,8215
31
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py,sha256=7FbhXSgUQxdHyQfIyRH7fV6WHSusV_yWo4tPP8ayhjI,6353
32
+ armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py,sha256=l7nOjqWphvNQOpuoda4Gh1cDdudNtdOpzjNsJlq3b0g,6341
32
33
  armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py,sha256=NX-ul6yOu0PLeULj6KvLonpvqqfrMf4j6kIp-xKzdaA,5499
33
34
  armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py,sha256=O0POGo7nLg5D4dYEn7jeU0yEODdkjQ06NESW270fqJI,5289
34
35
  armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py,sha256=8DLLmzHi7Hst8RdH-CvjvnKjPTp4TL3Oj2xFD7JUFy8,28225
35
36
  armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py,sha256=o4Bs7TwqIH3BRk7hmOKAXs6-o2gz28EHXJ6SMCAHWOU,2642
36
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py,sha256=7gKCIUmZ5tEKiUKDdwG2I30weCdTDEQdegA953RbFNw,1784
37
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py,sha256=BYcTeUQMQgPBmVW4tPaFiE1hfAmQSU_BFaOvPreN8GU,6087
37
+ armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py,sha256=FBPxUHeDa5h9D7hptRrqlh_-rmszSnC-FhXY8zUmpXY,1746
38
+ armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py,sha256=m6EOwRDeTb2HlPITM7ggylYk4mxyXH7et0Bd9AxvCJ0,6089
38
39
  armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py,sha256=1_uuk0KSg442lhSLGxrhLTfSNoTeCCZsCA9KzjLqUas,1086
39
40
  armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py,sha256=IMy5Rm2eJgo4TWv2_sOH3-ojJsRmZB2sFavbQbyHki0,505
40
41
  armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py,sha256=vrUraXEDMck4QNBo2rID1fKEhLTM_B88qjtve7SIBJU,2584
@@ -63,10 +64,10 @@ armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPac
63
64
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py,sha256=upjY_vPc1r1JujHy1YCTAwQKeWw0TO1Ju3L-yDlPjp0,551
64
65
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py,sha256=-btGbRzkRmvBhKui8RnNV5jwCQnFEFTY4mjTilF4zJk,2567
65
66
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py,sha256=GAlpyZhgyJSNyMpGMDqF7wd7bpzQtpWhB-2wYUvQbYw,1718
66
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py,sha256=mVfUgaHOdJdoE4CRhMWHd25Z0AZHn8IRGGU90DcT-78,7821
67
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py,sha256=GTxY4GeX2t6tzcvCY4KnnMiHeSvMk2x5x2S70YkIfXw,17205
67
+ armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py,sha256=CCoxJd-6M8SpbeBwrIyhdMoAhKQMsYqpOPdf07I5xko,7673
68
+ armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py,sha256=lGo0G7rxHJpGwATemS4YFdbS-lwJB6Zu0eVdCiqnmCg,17481
68
69
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py,sha256=kUZ7FrPsf-3HMBoNKPw7Q5AtUrPwtc4cnWEazPM3FhU,14713
70
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py,sha256=ugfJuhglOkGZR__w1aIC_T0sKFtSkIHmtx-yG6V5v7Q,20847
70
71
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py,sha256=FoRVcXvjzdwWTS6ZtTrSc4NSnUJfRFG7gDmaUavhYN0,6386
71
72
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py,sha256=qtSMJjrELFXwnXBrNFKtteo7tqO8m16KHd_p7Tw2JJ4,669
72
73
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py,sha256=-KXrVveZeQ2dFvx3bGpRB64yZ1JTKM3MyRLFduiVPAM,2466
@@ -82,18 +83,18 @@ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py,sha2
82
83
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py,sha256=FbBS2lLJP7hLNeHTITHqL_4g79-V-ux8kZs6d7c1Z1Y,1420
83
84
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py,sha256=veo1AJCsBzWGYiR7zkX24RTVzV5RAcMi_HNwhpoGb8M,23598
84
85
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py,sha256=_ZWphrpP84uHz4pGdfzkSgbfYbvmITqgPmCPplJfLU4,834
85
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py,sha256=javIRQL0G1cT50lzWPAxmlueOff9HuZHkFAQ_CpqwH0,1239
86
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py,sha256=3WU_-XT5AJFypPsoXvCF0LNq7q_tq_gIYnLfnt48PDw,2056
86
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py,sha256=FMEDX8Jg1LKnJ2x6v98i0feMDeO4VhiyCqh1g1fQS-s,1424
87
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py,sha256=bHZqSugyH8ipjZ1D9HI7aTyhMCwFUUpS8p2HPMaGhqU,2051
87
88
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py,sha256=ejt-TSbPsEMSbr2u7kjdna6qQzI901y9f0Ls8QPIEf0,851
88
89
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py,sha256=cMWF01RVyd2s_FT-_3CAqdY7JFg2AV4kwmih_c64jJ0,5186
89
90
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py,sha256=D99USjIq1VTvCBk4SNMwQlCdQl91qQYdrTivrIqNXok,2283
90
91
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py,sha256=660PzTkQGpE4tieurBlXO5X-T3TdKgRx2LghxhTYuws,1397
91
92
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py,sha256=sBc-OmYx7gxv5RYvpa4bitMA4A6X1XddHiGkXxaYcYc,2789
92
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py,sha256=c0OWoc5D4XQJVRkCbT-1YoobQ96Kx4Fr1AJQDyzg-WQ,6370
93
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py,sha256=Jr9NP34bxEhJCoW2mHIjH_QAN2EGfPNWeg74jjo41VA,6327
93
94
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py,sha256=kRDm0qoMI7Us7LdcVMwCX3-LA6mAuILvY-h_x9ZUanU,976
94
95
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py,sha256=Y7fyDxmqlUjq824rhbWRg0OQPh5wk7Di5mOoqCScFMg,6696
95
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py,sha256=lHfGVkfp4xinYS3j3rEAentSpHi7o_Rgy98O5CSo-Uc,404
96
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py,sha256=qi78JFsphY1wUZXUkv4EPBcc_Sgx1DYSV9ZfWfvbX-A,23748
96
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py,sha256=qRp6fpYg0bmJrVsre-4CeArEhBCjvVcfCTHF3Wno1TM,1700
97
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py,sha256=0XI_nq5URzqPkNoci05t9Eb_dRvEU0CiEn1MBhmk1Lc,23950
97
98
  armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py,sha256=4AWnLlapzbGOB8Wv1Du1JBTkoARxxlYNaZksR1SymGo,9087
98
99
  armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py,sha256=7wJRPBwjftvl84DIPj20CVGoWzmnSijcSpKcVF7k-UU,1929
99
100
  armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py,sha256=9Hg0LXOGD2xH_vxOCwTxfJHGIFbjQU1678xdOGQShcg,1274
@@ -131,7 +132,7 @@ armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py,sha256
131
132
  armodel/models/M2/MSR/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
132
133
  armodel/models/M2/MSR/AsamHdo/AdminData.py,sha256=Kbo6FUxwEUTb0tEB-vNLLff7_TzN6zJNbST238dqPu4,4076
133
134
  armodel/models/M2/MSR/AsamHdo/BaseTypes.py,sha256=Uh4w0WdGnZgkfa5oeuN94qkHjKer0ta4X6nRvaBH_-w,2381
134
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py,sha256=aAnOET7JFnqV1txswBnRBjlpL6KaK76iwf7Ldku8lnE,9879
135
+ armodel/models/M2/MSR/AsamHdo/ComputationMethod.py,sha256=B5w0phYh3DgPDm0YrG6JA-cFvRgjZkfpyqIlpf0nM0A,9611
135
136
  armodel/models/M2/MSR/AsamHdo/SpecialData.py,sha256=o1cj7jKcn47EqJRZAHru6K3dCNTldl1tSwA4ycxxykc,2516
136
137
  armodel/models/M2/MSR/AsamHdo/Units.py,sha256=Q4IenSntOUcHi-C_jkciTvBv9LHXsoOeUydRwFPM8Ak,3349
137
138
  armodel/models/M2/MSR/AsamHdo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -142,7 +143,7 @@ armodel/models/M2/MSR/CalibrationData/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
142
143
  armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py,sha256=QqzyfoGXvhsnnngOsBXkQkwx4HYa7xWf4ENsdOHg_IU,1530
143
144
  armodel/models/M2/MSR/DataDictionary/Axis.py,sha256=S8prTTmF4viFk_EzhY2ywP00opBMl4omZKUQiSTCFzE,4365
144
145
  armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py,sha256=Sr1rK7w7JhlgWShrxb2ZVVzLJDsXxWDwh_N9rhKkuhA,1466
145
- armodel/models/M2/MSR/DataDictionary/DataDefProperties.py,sha256=DG22dN9FUYOp1K9uNSPe4pQsJM-fUGhG08wGXViK18Q,9764
146
+ armodel/models/M2/MSR/DataDictionary/DataDefProperties.py,sha256=O8_vUFqkymujxZuYuKoL87SdvPuv9qCorMUR8pn5VQA,11458
146
147
  armodel/models/M2/MSR/DataDictionary/RecordLayout.py,sha256=Kv8ZUBFGvq9PQFeMpAKZnRWG-38bvutZRpcCjqiq9CE,7019
147
148
  armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py,sha256=PXcA9UrK9GOpPDe6ZWIEC3vIn1DnHR6-llsUpOURDWs,1245
148
149
  armodel/models/M2/MSR/DataDictionary/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -160,8 +161,8 @@ armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py,sha256=4
160
161
  armodel/models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
162
  armodel/models/utils/uuid_mgr.py,sha256=t_g52S4ej-umvo9S3kcpxytSyEVljVZoKjxhxBeYL8Y,747
162
163
  armodel/parser/__init__.py,sha256=wFcqh5unmDvKvf4R8vWkeertAXwWxAuOOEsbsM4mOHs,78
163
- armodel/parser/abstract_arxml_parser.py,sha256=RD5dgYvK3DaX8xGpynElBAbrMjw7OHSYnpbmwCh5mxg,14106
164
- armodel/parser/arxml_parser.py,sha256=ZadAZf4s-M63AQQJwRyT-mXu4uZ7m6OwbSBNxMG2R8I,387702
164
+ armodel/parser/abstract_arxml_parser.py,sha256=kZ6Sb9UljUkefA6X23GxFbpuDuZ-NyVqI_nbrRlsNt0,14296
165
+ armodel/parser/arxml_parser.py,sha256=FwznoOkNr_pYtMo0H_BDGyC3Isg6LgiilOnJ8sIeysw,390142
165
166
  armodel/parser/connector_xlsx_parser.py,sha256=0YW0WGOeDFdSNEY_Xh8Hi-Zlv4e4ctaLUh9pibj2-1w,10312
166
167
  armodel/parser/excel_parser.py,sha256=-Ws0eDvGna9LPQC9T8bgMg3Zq84v04aSuSxZUlZx1Wo,698
167
168
  armodel/parser/file_parser.py,sha256=eexNNjO1hXd_jOVgj_zh-58v8hJ4Cf_m42WrhGohsIs,1527
@@ -177,7 +178,7 @@ armodel/tests/test_armodel/models/test_ar_object.py,sha256=__brMN2O2rT7U80fnRJp_
177
178
  armodel/tests/test_armodel/models/test_ar_package.py,sha256=nrwEabE58OHTNQf2p5lNTS-ulaL1K8K2fW9NpWeSzGg,15705
178
179
  armodel/tests/test_armodel/models/test_ar_ref.py,sha256=cB-07JEXGCNqVSnecR4IMTxUUGfdwYyMQI2A37nAe5M,3992
179
180
  armodel/tests/test_armodel/models/test_bsw_module_template.py,sha256=lcQPGVOGoBAV-zVCfr_JjGIVTNkfnnqikoxs6W6udxg,2542
180
- armodel/tests/test_armodel/models/test_common_structure.py,sha256=1TfB2bNgxcZ_q782b6zdyINHcEQXJiWQmVvOEqYzIPs,4143
181
+ armodel/tests/test_armodel/models/test_common_structure.py,sha256=E-R9GywmEsYKl4YL5dKUUbbNK0jXgIZ-pY0qxF7Y3Jo,4105
181
182
  armodel/tests/test_armodel/models/test_data_dictionary.py,sha256=4xY0QgHhU2_K762i8qoJOXFFitMzWYL090roQDrWkYo,1154
182
183
  armodel/tests/test_armodel/models/test_data_prototype.py,sha256=PVIvVItwWcdGyqfn_5JJHBK7H6-C1543-XHQ0djq4LQ,4550
183
184
  armodel/tests/test_armodel/models/test_datatype.py,sha256=t_NpOh6EI-JWGnT53tWMA5NPNB_VyGVzo_517qGTrro,13006
@@ -187,20 +188,23 @@ armodel/tests/test_armodel/models/test_m2_msr.py,sha256=OI53I90YB-FQ6Vn3pBRIoRWs
187
188
  armodel/tests/test_armodel/models/test_port_interface.py,sha256=CQd7YxBeMDuliqx0SQ1IZ32yGKrUQo6mZcqyI6qQepk,9727
188
189
  armodel/tests/test_armodel/models/test_port_prototype.py,sha256=eJMfvimtniRIhqA57bL1qMfp0_D9J9LrM-5GtGVl6OM,533
189
190
  armodel/tests/test_armodel/parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
- armodel/tests/test_armodel/parser/test_arxml_parser.py,sha256=6KXK5jasi8OGGxLWECaZocKIFf7EZKbCT0grDApEjQ8,757
191
+ armodel/tests/test_armodel/parser/test_arxml_parser.py,sha256=G87rUosLoMSfQZji37w6x8p-Nz0KMf_sXwVSNpGjLYQ,2612
191
192
  armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py,sha256=LSrXnk0NIC5-YdHeM0CCFZmmbnTmXs3-rToimDzdd0Y,11675
193
+ armodel/tests/test_armodel/parser/test_implementation_data_type.py,sha256=3-LxYvfT3syfjHHMCXo98uMU1LIJ71jH_DdkVnNEZJQ,14692
192
194
  armodel/tests/test_armodel/parser/test_parse_bswmd.py,sha256=Dju0afdFi7MqrP0BCBzOIILlIgLL6ux4lhoXmvtwZ8U,10499
195
+ armodel/tests/test_armodel/parser/test_rte_event.py,sha256=GxhMNNANx_EZ_-jDRgZkd5lOn7treRPzNLYdQC6DMv4,8951
196
+ armodel/tests/test_armodel/parser/test_runnable_entity.py,sha256=1irri1yDI0P8kE7_XQPzjAmOphovtJwtPns9qT2ieQk,8583
193
197
  armodel/tests/test_armodel/parser/test_sw_components.py,sha256=M-T26txeupgZwfCq89QkPga-3m7OSZ9DOqZtgPpZvSY,20950
194
198
  armodel/tests/test_armodel/parser/test_system.py,sha256=islzROEJGx5PoR9GkjJHopYPu8hEs7iSGhQviajYoxk,908
195
199
  armodel/transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
200
  armodel/transformer/abstract.py,sha256=y6oATVcdu7I34RTb1PxGqgz7QdvcWcL2rCctEZMeo2E,108
197
201
  armodel/transformer/admin_data.py,sha256=k5LnDz8F2WoBgNw71agEjWaMnGITrAzB-mp5iJ02PJU,1323
198
202
  armodel/writer/__init__.py,sha256=eXr3qhGzFIvHNBin22x-Tk2JM6QwRgx1jwrluDKAlzQ,37
199
- armodel/writer/abstract_arxml_writer.py,sha256=ikeJTCPFGjVaGmoSVbFwREyTrAq7SrM0-VqAhndjlnc,6265
200
- armodel/writer/arxml_writer.py,sha256=Xnw6CDNqmtjYoqhTjDvIoEpt-7iie3OHJfwTgLKRCjs,399337
201
- armodel-1.8.1.dist-info/LICENSE,sha256=rceTpGhsmmN1M0k1KO0HRS11iCjen-2y56ZEqgo43wo,1088
202
- armodel-1.8.1.dist-info/METADATA,sha256=wYciiw2Xwn65JX35dKcmU83HvZ7Un5_4bNDucY_Nt0s,17634
203
- armodel-1.8.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
204
- armodel-1.8.1.dist-info/entry_points.txt,sha256=Z6Nz1vAV26e-q3wExkpGLus9UkAeW1313LyVL5JqGTE,448
205
- armodel-1.8.1.dist-info/top_level.txt,sha256=AEATYsqAuRpr0XGa_ThW7-o4WLlA5e3PEgD0QJhzmoA,8
206
- armodel-1.8.1.dist-info/RECORD,,
203
+ armodel/writer/abstract_arxml_writer.py,sha256=fmSC2beb_2Q_LW-nCbaOem85xX5616FW_sFPlJaflFw,6401
204
+ armodel/writer/arxml_writer.py,sha256=cJA71OKzqScXusr8jlBwV8yvqyvrrSaIvGUgMprmFpw,403829
205
+ armodel-1.8.3.dist-info/LICENSE,sha256=rceTpGhsmmN1M0k1KO0HRS11iCjen-2y56ZEqgo43wo,1088
206
+ armodel-1.8.3.dist-info/METADATA,sha256=flH6NRVtBAJJsQyEiBcPxbMOtvsduZPb5pl0o8-yDMc,17922
207
+ armodel-1.8.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
208
+ armodel-1.8.3.dist-info/entry_points.txt,sha256=br5_peUAKrFTC7K4p11OlwsDKIhqpSdIvxpi7nDfAf0,493
209
+ armodel-1.8.3.dist-info/top_level.txt,sha256=AEATYsqAuRpr0XGa_ThW7-o4WLlA5e3PEgD0QJhzmoA,8
210
+ armodel-1.8.3.dist-info/RECORD,,
@@ -7,4 +7,5 @@ arxml-dump = armodel.cli.arxml_dump_cli:cli_main
7
7
  arxml-format = armodel.cli.arxml_format_cli:main
8
8
  connector-update = armodel.cli.connector_update_cli:main
9
9
  connector2xlsx = armodel.cli.connector2xlsx_cli:main
10
+ format-xml = armodel.cli.format_xml_cli:main
10
11