| @@ 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 |
|
| @@ 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): |
|
| @@ 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 | ||