Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
opcua-asyncio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nikola Balog
opcua-asyncio
Commits
cc3a8953
Commit
cc3a8953
authored
Aug 01, 2016
by
ORD
Committed by
GitHub
Aug 01, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #262 from georgschoelly/fix_event_notifier_bugs
Fix event notifier bugs
parents
349303b1
dc88c9fa
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
12 deletions
+14
-12
opcua/common/node.py
opcua/common/node.py
+2
-2
opcua/server/internal_server.py
opcua/server/internal_server.py
+3
-1
opcua/ua/uatypes.py
opcua/ua/uatypes.py
+7
-7
tests/tests_server.py
tests/tests_server.py
+2
-2
No files found.
opcua/common/node.py
View file @
cc3a8953
...
...
@@ -103,9 +103,9 @@ class Node(object):
set event notifier attribute,
arg is a list of EventNotifier Enum
"""
res
=
1
res
=
0
for
en
in
enum_list
:
ua
.
set_bit
(
res
,
en
.
value
)
res
=
ua
.
set_bit
(
res
,
en
.
value
)
self
.
set_attribute
(
ua
.
AttributeIds
.
EventNotifier
,
ua
.
DataValue
(
ua
.
Variant
(
res
,
ua
.
VariantType
.
Byte
)))
def
get_node_class
(
self
):
...
...
opcua/server/internal_server.py
View file @
cc3a8953
...
...
@@ -190,9 +190,11 @@ class InternalServer(object):
event_notifier
=
source
.
get_event_notifier
()
if
ua
.
EventNotifier
.
SubscribeToEvents
not
in
event_notifier
:
raise
ua
.
UaError
(
"Node does not generate events"
,
event_notifier
)
if
ua
.
EventNotifier
.
SubscribeToEvents
not
in
event_notifier
:
if
ua
.
EventNotifier
.
HistoryRead
not
in
event_notifier
:
event_notifier
.
append
(
ua
.
EventNotifier
.
HistoryRead
)
source
.
set_event_notifier
(
event_notifier
)
self
.
history_manager
.
historize_event
(
source
,
period
,
count
)
def
disable_history_event
(
self
,
source
):
...
...
opcua/ua/uatypes.py
View file @
cc3a8953
...
...
@@ -300,7 +300,7 @@ class ValueRank(IntEnum):
# the next names are not in spec but so common we express them here
TwoDimensions
=
2
ThreeDimensions
=
3
FourDimensions
=
3
FourDimensions
=
4
class
AccessLevel
(
IntEnum
):
...
...
@@ -1247,8 +1247,8 @@ def int_to_AccessLevel(level):
"""
res
=
[]
for
val
in
AccessLevel
:
test_bit
(
level
,
val
.
value
)
res
.
append
(
val
)
if
test_bit
(
level
,
val
.
value
):
res
.
append
(
val
)
return
res
...
...
@@ -1258,8 +1258,8 @@ def int_to_WriteMask(level):
"""
res
=
[]
for
val
in
WriteMask
:
test_bit
(
level
,
val
.
value
)
res
.
append
(
val
)
if
test_bit
(
level
,
val
.
value
):
res
.
append
(
val
)
return
res
...
...
@@ -1269,6 +1269,6 @@ def int_to_EventNotifier(level):
"""
res
=
[]
for
val
in
EventNotifier
:
test_bit
(
level
,
val
.
value
)
res
.
append
(
val
)
if
test_bit
(
level
,
val
.
value
):
res
.
append
(
val
)
return
res
tests/tests_server.py
View file @
cc3a8953
...
...
@@ -409,7 +409,7 @@ def check_eventgenerator_SourceServer(test, evgen):
server
=
test
.
opc
.
get_server_node
()
test
.
assertEqual
(
evgen
.
event
.
SourceName
,
server
.
get_browse_name
().
Name
)
test
.
assertEqual
(
evgen
.
event
.
SourceNode
,
ua
.
NodeId
(
ua
.
ObjectIds
.
Server
))
test
.
assertEqual
(
server
.
get_attribute
(
ua
.
AttributeIds
.
EventNotifier
).
Value
,
ua
.
Variant
(
1
,
ua
.
VariantType
.
Byte
))
test
.
assertEqual
(
server
.
get_attribute
(
ua
.
AttributeIds
.
EventNotifier
).
Value
,
ua
.
Variant
(
5
,
ua
.
VariantType
.
Byte
))
refs
=
server
.
get_referenced_nodes
(
ua
.
ObjectIds
.
GeneratesEvent
,
ua
.
BrowseDirection
.
Forward
,
ua
.
NodeClass
.
ObjectType
,
False
)
test
.
assertGreaterEqual
(
len
(
refs
),
1
)
...
...
@@ -417,7 +417,7 @@ def check_eventgenerator_SourceServer(test, evgen):
def
check_event_generator_object
(
test
,
evgen
,
obj
):
test
.
assertEqual
(
evgen
.
event
.
SourceName
,
obj
.
get_browse_name
().
Name
)
test
.
assertEqual
(
evgen
.
event
.
SourceNode
,
obj
.
nodeid
)
test
.
assertEqual
(
obj
.
get_attribute
(
ua
.
AttributeIds
.
EventNotifier
).
Value
,
ua
.
Variant
(
1
,
ua
.
VariantType
.
Byte
))
test
.
assertEqual
(
obj
.
get_attribute
(
ua
.
AttributeIds
.
EventNotifier
).
Value
,
ua
.
Variant
(
5
,
ua
.
VariantType
.
Byte
))
refs
=
obj
.
get_referenced_nodes
(
ua
.
ObjectIds
.
GeneratesEvent
,
ua
.
BrowseDirection
.
Forward
,
ua
.
NodeClass
.
ObjectType
,
False
)
test
.
assertEqual
(
len
(
refs
),
1
)
test
.
assertEqual
(
refs
[
0
].
nodeid
,
evgen
.
event
.
EventType
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment