Code Duplication    Length = 28-86 lines in 3 locations

opcua/ua/uatypes.py 1 location

@@ 805-865 (lines=61) @@
802
class DataValue(FrozenClass):
803
    """
804
    A value with an associated timestamp, and quality.
805
    Automatically generated from xml , copied and modified here to fix errors in xml spec
806
807
    :ivar Value:
808
    :vartype Value: Variant
809
    :ivar StatusCode:
810
    :vartype StatusCode: StatusCode
811
    :ivar SourceTimestamp:
812
    :vartype SourceTimestamp: datetime
813
    :ivar SourcePicoSeconds:
814
    :vartype SourcePicoSeconds: int
815
    :ivar ServerTimestamp:
816
    :vartype ServerTimestamp: datetime
817
    :ivar ServerPicoseconds:
818
    :vartype ServerPicoseconds: int
819
    """
820
821
    ua_switches = {
822
        'Value': ('Encoding', 0),
823
        'StatusCode': ('Encoding', 1),
824
        'SourceTimestamp': ('Encoding', 2),
825
        'ServerTimestamp': ('Encoding', 3),
826
        'SourcePicoseconds': ('Encoding', 4),
827
        'ServerPicoseconds': ('Encoding', 5),
828
    }
829
830
    ua_types = (
831
            ('Encoding', 'Byte'), 
832
            ('Value', 'Variant'), 
833
            ('StatusCode', 'StatusCode'), 
834
            ('SourceTimestamp', 'DateTime'),
835
            ('SourcePicoseconds', 'UInt16'), 
836
            ('ServerTimestamp', 'DateTime'), 
837
            ('ServerPicoseconds', 'UInt16'), 
838
            )
839
840
    def __init__(self, variant=None, status=None):
841
        self.Encoding = 0
842
        if not isinstance(variant, Variant):
843
            variant = Variant(variant)
844
        self.Value = variant
845
        if status is None:
846
            self.StatusCode = StatusCode()
847
        else:
848
            self.StatusCode = status
849
        self.SourceTimestamp = None  # DateTime()
850
        self.SourcePicoseconds = None
851
        self.ServerTimestamp = None  # DateTime()
852
        self.ServerPicoseconds = None
853
        self._freeze = True
854
855
    def __str__(self):
856
        s = 'DataValue(Value:{0}'.format(self.Value)
857
        if self.StatusCode is not None:
858
            s += ', StatusCode:{0}'.format(self.StatusCode)
859
        if self.SourceTimestamp is not None:
860
            s += ', SourceTimestamp:{0}'.format(self.SourceTimestamp)
861
        if self.ServerTimestamp is not None:
862
            s += ', ServerTimestamp:{0}'.format(self.ServerTimestamp)
863
        if self.SourcePicoseconds is not None:
864
            s += ', SourcePicoseconds:{0}'.format(self.SourcePicoseconds)
865
        if self.ServerPicoseconds is not None:
866
            s += ', ServerPicoseconds:{0}'.format(self.ServerPicoseconds)
867
        s += ')'
868
        return s

opcua/ua/uaprotocol_auto.py 1 location

@@ 647-732 (lines=86) @@
644
    View = 26501356
645
646
647
class AttributeWriteMask(IntEnum):
648
    '''
649
    Define bits used to indicate which attributes are writable.
650
651
    :ivar None_:
652
    :vartype None_: 0
653
    :ivar AccessLevel:
654
    :vartype AccessLevel: 1
655
    :ivar ArrayDimensions:
656
    :vartype ArrayDimensions: 2
657
    :ivar BrowseName:
658
    :vartype BrowseName: 4
659
    :ivar ContainsNoLoops:
660
    :vartype ContainsNoLoops: 8
661
    :ivar DataType:
662
    :vartype DataType: 16
663
    :ivar Description:
664
    :vartype Description: 32
665
    :ivar DisplayName:
666
    :vartype DisplayName: 64
667
    :ivar EventNotifier:
668
    :vartype EventNotifier: 128
669
    :ivar Executable:
670
    :vartype Executable: 256
671
    :ivar Historizing:
672
    :vartype Historizing: 512
673
    :ivar InverseName:
674
    :vartype InverseName: 1024
675
    :ivar IsAbstract:
676
    :vartype IsAbstract: 2048
677
    :ivar MinimumSamplingInterval:
678
    :vartype MinimumSamplingInterval: 4096
679
    :ivar NodeClass:
680
    :vartype NodeClass: 8192
681
    :ivar NodeId:
682
    :vartype NodeId: 16384
683
    :ivar Symmetric:
684
    :vartype Symmetric: 32768
685
    :ivar UserAccessLevel:
686
    :vartype UserAccessLevel: 65536
687
    :ivar UserExecutable:
688
    :vartype UserExecutable: 131072
689
    :ivar UserWriteMask:
690
    :vartype UserWriteMask: 262144
691
    :ivar ValueRank:
692
    :vartype ValueRank: 524288
693
    :ivar WriteMask:
694
    :vartype WriteMask: 1048576
695
    :ivar ValueForVariableType:
696
    :vartype ValueForVariableType: 2097152
697
    :ivar DataTypeDefinition:
698
    :vartype DataTypeDefinition: 4194304
699
    :ivar RolePermissions:
700
    :vartype RolePermissions: 8388608
701
    :ivar AccessRestrictions:
702
    :vartype AccessRestrictions: 16777216
703
    :ivar AccessLevelEx:
704
    :vartype AccessLevelEx: 33554432
705
    '''
706
    None_ = 0
707
    AccessLevel = 1
708
    ArrayDimensions = 2
709
    BrowseName = 4
710
    ContainsNoLoops = 8
711
    DataType = 16
712
    Description = 32
713
    DisplayName = 64
714
    EventNotifier = 128
715
    Executable = 256
716
    Historizing = 512
717
    InverseName = 1024
718
    IsAbstract = 2048
719
    MinimumSamplingInterval = 4096
720
    NodeClass = 8192
721
    NodeId = 16384
722
    Symmetric = 32768
723
    UserAccessLevel = 65536
724
    UserExecutable = 131072
725
    UserWriteMask = 262144
726
    ValueRank = 524288
727
    WriteMask = 1048576
728
    ValueForVariableType = 2097152
729
    DataTypeDefinition = 4194304
730
    RolePermissions = 8388608
731
    AccessRestrictions = 16777216
732
    AccessLevelEx = 33554432
733
734
735
class BrowseDirection(IntEnum):

opcua/ua/attribute_ids.py 1 location

@@ 5-32 (lines=28) @@
2
3
from enum import IntEnum
4
5
class AttributeIds(IntEnum):
6
    NodeId = 1
7
    NodeClass = 2
8
    BrowseName = 3
9
    DisplayName = 4
10
    Description = 5
11
    WriteMask = 6
12
    UserWriteMask = 7
13
    IsAbstract = 8
14
    Symmetric = 9
15
    InverseName = 10
16
    ContainsNoLoops = 11
17
    EventNotifier = 12
18
    Value = 13
19
    DataType = 14
20
    ValueRank = 15
21
    ArrayDimensions = 16
22
    AccessLevel = 17
23
    UserAccessLevel = 18
24
    MinimumSamplingInterval = 19
25
    Historizing = 20
26
    Executable = 21
27
    UserExecutable = 22
28
    DataTypeDefinition = 23
29
    RolePermissions = 24
30
    UserRolePermissions = 25
31
    AccessRestrictions = 26
32
    AccessLevelEx = 27
33