Code Duplication    Length = 64-66 lines in 2 locations

opcua/ua/uaprotocol_auto.py 2 locations

@@ 912-977 (lines=66) @@
909
    __repr__ = __str__
910
911
912
class Argument(FrozenClass):
913
    '''
914
    An argument for a method.
915
916
    :ivar Name:
917
    :vartype Name: String
918
    :ivar DataType:
919
    :vartype DataType: NodeId
920
    :ivar ValueRank:
921
    :vartype ValueRank: Int32
922
    :ivar ArrayDimensions:
923
    :vartype ArrayDimensions: UInt32
924
    :ivar Description:
925
    :vartype Description: LocalizedText
926
    '''
927
928
    ua_types = {
929
        'Name': 'String',
930
        'DataType': 'NodeId',
931
        'ValueRank': 'Int32',
932
        'ArrayDimensions': 'UInt32',
933
        'Description': 'LocalizedText',
934
               }
935
936
    def __init__(self, binary=None):
937
        if binary is not None:
938
            self._binary_init(binary)
939
            self._freeze = True
940
            return
941
        self.Name = None
942
        self.DataType = NodeId()
943
        self.ValueRank = 0
944
        self.ArrayDimensions = []
945
        self.Description = LocalizedText()
946
        self._freeze = True
947
948
    def to_binary(self):
949
        packet = []
950
        packet.append(uabin.Primitives.String.pack(self.Name))
951
        packet.append(self.DataType.to_binary())
952
        packet.append(uabin.Primitives.Int32.pack(self.ValueRank))
953
        packet.append(uabin.Primitives.Int32.pack(len(self.ArrayDimensions)))
954
        for fieldname in self.ArrayDimensions:
955
            packet.append(uabin.Primitives.UInt32.pack(fieldname))
956
        packet.append(self.Description.to_binary())
957
        return b''.join(packet)
958
959
    @staticmethod
960
    def from_binary(data):
961
        return Argument(data)
962
963
    def _binary_init(self, data):
964
        self.Name = uabin.Primitives.String.unpack(data)
965
        self.DataType = NodeId.from_binary(data)
966
        self.ValueRank = uabin.Primitives.Int32.unpack(data)
967
        self.ArrayDimensions = uabin.Primitives.UInt32.unpack_array(data)
968
        self.Description = LocalizedText.from_binary(data)
969
970
    def __str__(self):
971
        return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \
972
               'DataType:' + str(self.DataType) + ', ' + \
973
               'ValueRank:' + str(self.ValueRank) + ', ' + \
974
               'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \
975
               'Description:' + str(self.Description) + ')'
976
977
    __repr__ = __str__
978
979
980
class EnumValueType(FrozenClass):
@@ 15809-15872 (lines=64) @@
15806
    :ivar Imaginary:
15807
    :vartype Imaginary: Double
15808
    '''
15809
15810
    ua_types = {
15811
        'Real': 'Double',
15812
        'Imaginary': 'Double',
15813
               }
15814
15815
    def __init__(self, binary=None):
15816
        if binary is not None:
15817
            self._binary_init(binary)
15818
            self._freeze = True
15819
            return
15820
        self.Real = 0
15821
        self.Imaginary = 0
15822
        self._freeze = True
15823
15824
    def to_binary(self):
15825
        packet = []
15826
        packet.append(uabin.Primitives.Double.pack(self.Real))
15827
        packet.append(uabin.Primitives.Double.pack(self.Imaginary))
15828
        return b''.join(packet)
15829
15830
    @staticmethod
15831
    def from_binary(data):
15832
        return DoubleComplexNumberType(data)
15833
15834
    def _binary_init(self, data):
15835
        self.Real = uabin.Primitives.Double.unpack(data)
15836
        self.Imaginary = uabin.Primitives.Double.unpack(data)
15837
15838
    def __str__(self):
15839
        return 'DoubleComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \
15840
               'Imaginary:' + str(self.Imaginary) + ')'
15841
15842
    __repr__ = __str__
15843
15844
15845
class AxisInformation(FrozenClass):
15846
    '''
15847
    :ivar EngineeringUnits:
15848
    :vartype EngineeringUnits: EUInformation
15849
    :ivar EURange:
15850
    :vartype EURange: Range
15851
    :ivar Title:
15852
    :vartype Title: LocalizedText
15853
    :ivar AxisScaleType:
15854
    :vartype AxisScaleType: AxisScaleEnumeration
15855
    :ivar AxisSteps:
15856
    :vartype AxisSteps: Double
15857
    '''
15858
15859
    ua_types = {
15860
        'EngineeringUnits': 'EUInformation',
15861
        'EURange': 'Range',
15862
        'Title': 'LocalizedText',
15863
        'AxisScaleType': 'AxisScaleEnumeration',
15864
        'AxisSteps': 'Double',
15865
               }
15866
15867
    def __init__(self, binary=None):
15868
        if binary is not None:
15869
            self._binary_init(binary)
15870
            self._freeze = True
15871
            return
15872
        self.EngineeringUnits = EUInformation()
15873
        self.EURange = Range()
15874
        self.Title = LocalizedText()
15875
        self.AxisScaleType = AxisScaleEnumeration(0)