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
7e42b3bf
Commit
7e42b3bf
authored
Jan 09, 2016
by
olivier R-D
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
utcnow() instead of now() everywhere
parent
d5447a62
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
47 additions
and
47 deletions
+47
-47
opcua/common/event.py
opcua/common/event.py
+3
-3
opcua/server/address_space.py
opcua/server/address_space.py
+4
-4
opcua/server/internal_server.py
opcua/server/internal_server.py
+2
-2
opcua/server/uaprocessor.py
opcua/server/uaprocessor.py
+1
-1
opcua/ua/uaprotocol_auto.py
opcua/ua/uaprotocol_auto.py
+29
-29
tests/tests.py
tests/tests.py
+8
-8
No files found.
opcua/common/event.py
View file @
7e42b3bf
...
...
@@ -37,9 +37,9 @@ class Event(object):
# set some default values for attributes from BaseEventType, thus that all event must have
self
.
EventId
=
uuid
.
uuid4
().
bytes
self
.
EventType
=
self
.
node
.
nodeid
self
.
LocaleTime
=
datetime
.
now
()
self
.
ReceiveTime
=
datetime
.
now
()
self
.
Time
=
datetime
.
now
()
self
.
LocaleTime
=
datetime
.
utc
now
()
self
.
ReceiveTime
=
datetime
.
utc
now
()
self
.
Time
=
datetime
.
utc
now
()
self
.
Message
=
ua
.
LocalizedText
()
self
.
Severity
=
ua
.
Variant
(
1
,
ua
.
VariantType
.
UInt16
)
self
.
SourceName
=
"Server"
...
...
opcua/server/address_space.py
View file @
7e42b3bf
...
...
@@ -263,8 +263,8 @@ class NodeManagementService(object):
def
_add_node_attr
(
self
,
item
,
nodedata
,
name
,
vtype
=
None
):
if
item
.
SpecifiedAttributes
&
getattr
(
ua
.
NodeAttributesMask
,
name
):
dv
=
ua
.
DataValue
(
ua
.
Variant
(
getattr
(
item
,
name
),
vtype
))
dv
.
ServerTimestamp
=
datetime
.
now
()
dv
.
SourceTimestamp
=
datetime
.
now
()
dv
.
ServerTimestamp
=
datetime
.
utc
now
()
dv
.
SourceTimestamp
=
datetime
.
utc
now
()
nodedata
.
attributes
[
getattr
(
ua
.
AttributeIds
,
name
)]
=
AttributeValue
(
dv
)
def
_add_nodeattributes
(
self
,
item
,
nodedata
):
...
...
@@ -391,9 +391,9 @@ class AddressSpace(object):
if
attr
not
in
node
.
attributes
:
return
ua
.
StatusCode
(
ua
.
StatusCodes
.
BadAttributeIdInvalid
)
if
not
value
.
SourceTimestamp
:
value
.
SourceTimestamp
=
datetime
.
now
()
value
.
SourceTimestamp
=
datetime
.
utc
now
()
if
not
value
.
ServerTimestamp
:
value
.
ServerTimestamp
=
datetime
.
now
()
value
.
ServerTimestamp
=
datetime
.
utc
now
()
attval
=
node
.
attributes
[
attr
]
old
=
attval
.
value
...
...
opcua/server/internal_server.py
View file @
7e42b3bf
...
...
@@ -85,7 +85,7 @@ class InternalServer(object):
self
.
_known_servers
[
edp
.
Server
.
ApplicationUri
]
=
ServerDesc
(
edp
.
Server
)
self
.
loop
.
start
()
Node
(
self
.
isession
,
ua
.
NodeId
(
ua
.
ObjectIds
.
Server_ServerStatus_State
)).
set_value
(
0
)
Node
(
self
.
isession
,
ua
.
NodeId
(
ua
.
ObjectIds
.
Server_ServerStatus_StartTime
)).
set_value
(
datetime
.
now
())
Node
(
self
.
isession
,
ua
.
NodeId
(
ua
.
ObjectIds
.
Server_ServerStatus_StartTime
)).
set_value
(
datetime
.
utc
now
())
if
not
self
.
disabled_clock
:
self
.
_set_current_time
()
...
...
@@ -94,7 +94,7 @@ class InternalServer(object):
self
.
loop
.
stop
()
def
_set_current_time
(
self
):
self
.
current_time_node
.
set_value
(
datetime
.
now
())
self
.
current_time_node
.
set_value
(
datetime
.
utc
now
())
self
.
loop
.
call_later
(
1
,
self
.
_set_current_time
)
def
get_new_channel_id
(
self
):
...
...
opcua/server/uaprocessor.py
View file @
7e42b3bf
...
...
@@ -375,7 +375,7 @@ class UAProcessor(object):
self
.
channel
.
SecurityToken
.
ChannelId
=
self
.
iserver
.
get_new_channel_id
()
self
.
channel
.
SecurityToken
.
RevisedLifetime
=
params
.
RequestedLifetime
self
.
channel
.
SecurityToken
.
TokenId
+=
1
self
.
channel
.
SecurityToken
.
CreatedAt
=
datetime
.
now
()
self
.
channel
.
SecurityToken
.
CreatedAt
=
datetime
.
utc
now
()
self
.
channel
.
SecurityToken
.
RevisedLifetime
=
params
.
RequestedLifetime
self
.
channel
.
ServerNonce
=
utils
.
create_nonce
(
self
.
_connection
.
_security_policy
.
symmetric_key_size
)
self
.
_connection
.
set_security_token
(
self
.
channel
.
SecurityToken
)
...
...
opcua/ua/uaprotocol_auto.py
View file @
7e42b3bf
...
...
@@ -1233,7 +1233,7 @@ class RequestHeader(FrozenClass):
self
.
_freeze
=
True
return
self
.
AuthenticationToken
=
NodeId
()
self
.
Timestamp
=
datetime
.
now
()
self
.
Timestamp
=
datetime
.
utc
now
()
self
.
RequestHandle
=
0
self
.
ReturnDiagnostics
=
0
self
.
AuditEntryId
=
''
...
...
@@ -1299,7 +1299,7 @@ class ResponseHeader(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
Timestamp
=
datetime
.
now
()
self
.
Timestamp
=
datetime
.
utc
now
()
self
.
RequestHandle
=
0
self
.
ServiceResult
=
StatusCode
()
self
.
ServiceDiagnostics
=
DiagnosticInfo
()
...
...
@@ -1676,7 +1676,7 @@ class FindServersOnNetworkResult(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
LastCounterResetTime
=
datetime
.
now
()
self
.
LastCounterResetTime
=
datetime
.
utc
now
()
self
.
Servers
=
[]
self
.
_freeze
=
True
...
...
@@ -2442,7 +2442,7 @@ class ChannelSecurityToken(FrozenClass):
return
self
.
ChannelId
=
0
self
.
TokenId
=
0
self
.
CreatedAt
=
datetime
.
now
()
self
.
CreatedAt
=
datetime
.
utc
now
()
self
.
RevisedLifetime
=
0
self
.
_freeze
=
True
...
...
@@ -5320,7 +5320,7 @@ class ViewDescription(FrozenClass):
self
.
_freeze
=
True
return
self
.
ViewId
=
NodeId
()
self
.
Timestamp
=
datetime
.
now
()
self
.
Timestamp
=
datetime
.
utc
now
()
self
.
ViewVersion
=
0
self
.
_freeze
=
True
...
...
@@ -6625,7 +6625,7 @@ class SupportedProfile(FrozenClass):
self
.
OrganizationUri
=
''
self
.
ProfileId
=
''
self
.
ComplianceTool
=
''
self
.
ComplianceDate
=
datetime
.
now
()
self
.
ComplianceDate
=
datetime
.
utc
now
()
self
.
ComplianceLevel
=
ComplianceLevel
(
0
)
self
.
UnsupportedUnitIds
=
[]
self
.
_freeze
=
True
...
...
@@ -6699,9 +6699,9 @@ class SoftwareCertificate(FrozenClass):
self
.
VendorProductCertificate
=
b''
self
.
SoftwareVersion
=
''
self
.
BuildNumber
=
''
self
.
BuildDate
=
datetime
.
now
()
self
.
BuildDate
=
datetime
.
utc
now
()
self
.
IssuedBy
=
''
self
.
IssueDate
=
datetime
.
now
()
self
.
IssueDate
=
datetime
.
utc
now
()
self
.
SupportedProfiles
=
[]
self
.
_freeze
=
True
...
...
@@ -8108,8 +8108,8 @@ class ReadEventDetails(FrozenClass):
self
.
_freeze
=
True
return
self
.
NumValuesPerNode
=
0
self
.
StartTime
=
datetime
.
now
()
self
.
EndTime
=
datetime
.
now
()
self
.
StartTime
=
datetime
.
utc
now
()
self
.
EndTime
=
datetime
.
utc
now
()
self
.
Filter
=
EventFilter
()
self
.
_freeze
=
True
...
...
@@ -8159,8 +8159,8 @@ class ReadRawModifiedDetails(FrozenClass):
self
.
_freeze
=
True
return
self
.
IsReadModified
=
True
self
.
StartTime
=
datetime
.
now
()
self
.
EndTime
=
datetime
.
now
()
self
.
StartTime
=
datetime
.
utc
now
()
self
.
EndTime
=
datetime
.
utc
now
()
self
.
NumValuesPerNode
=
0
self
.
ReturnBounds
=
True
self
.
_freeze
=
True
...
...
@@ -8213,8 +8213,8 @@ class ReadProcessedDetails(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
StartTime
=
datetime
.
now
()
self
.
EndTime
=
datetime
.
now
()
self
.
StartTime
=
datetime
.
utc
now
()
self
.
EndTime
=
datetime
.
utc
now
()
self
.
ProcessingInterval
=
0
self
.
AggregateType
=
[]
self
.
AggregateConfiguration
=
AggregateConfiguration
()
...
...
@@ -8348,7 +8348,7 @@ class ModificationInfo(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
ModificationTime
=
datetime
.
now
()
self
.
ModificationTime
=
datetime
.
utc
now
()
self
.
UpdateType
=
HistoryUpdateType
(
0
)
self
.
UserName
=
''
self
.
_freeze
=
True
...
...
@@ -9026,8 +9026,8 @@ class DeleteRawModifiedDetails(FrozenClass):
return
self
.
NodeId
=
NodeId
()
self
.
IsDeleteModified
=
True
self
.
StartTime
=
datetime
.
now
()
self
.
EndTime
=
datetime
.
now
()
self
.
StartTime
=
datetime
.
utc
now
()
self
.
EndTime
=
datetime
.
utc
now
()
self
.
_freeze
=
True
def
to_binary
(
self
):
...
...
@@ -9785,7 +9785,7 @@ class AggregateFilter(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
StartTime
=
datetime
.
now
()
self
.
StartTime
=
datetime
.
utc
now
()
self
.
AggregateType
=
NodeId
()
self
.
ProcessingInterval
=
0
self
.
AggregateConfiguration
=
AggregateConfiguration
()
...
...
@@ -9916,7 +9916,7 @@ class AggregateFilterResult(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
RevisedStartTime
=
datetime
.
now
()
self
.
RevisedStartTime
=
datetime
.
utc
now
()
self
.
RevisedProcessingInterval
=
0
self
.
RevisedAggregateConfiguration
=
AggregateConfiguration
()
self
.
_freeze
=
True
...
...
@@ -11616,7 +11616,7 @@ class NotificationMessage(FrozenClass):
self
.
_freeze
=
True
return
self
.
SequenceNumber
=
0
self
.
PublishTime
=
datetime
.
now
()
self
.
PublishTime
=
datetime
.
utc
now
()
self
.
NotificationData
=
[]
self
.
_freeze
=
True
...
...
@@ -12663,7 +12663,7 @@ class BuildInfo(FrozenClass):
self
.
ProductName
=
''
self
.
SoftwareVersion
=
''
self
.
BuildNumber
=
''
self
.
BuildDate
=
datetime
.
now
()
self
.
BuildDate
=
datetime
.
utc
now
()
self
.
_freeze
=
True
def
to_binary
(
self
):
...
...
@@ -12985,8 +12985,8 @@ class ServerStatusDataType(FrozenClass):
self
.
_binary_init
(
binary
)
self
.
_freeze
=
True
return
self
.
StartTime
=
datetime
.
now
()
self
.
CurrentTime
=
datetime
.
now
()
self
.
StartTime
=
datetime
.
utc
now
()
self
.
CurrentTime
=
datetime
.
utc
now
()
self
.
State
=
ServerState
(
0
)
self
.
BuildInfo
=
BuildInfo
()
self
.
SecondsTillShutdown
=
0
...
...
@@ -13128,8 +13128,8 @@ class SessionDiagnosticsDataType(FrozenClass):
self
.
LocaleIds
=
[]
self
.
ActualSessionTimeout
=
0
self
.
MaxResponseMessageSize
=
0
self
.
ClientConnectionTime
=
datetime
.
now
()
self
.
ClientLastContactTime
=
datetime
.
now
()
self
.
ClientConnectionTime
=
datetime
.
utc
now
()
self
.
ClientLastContactTime
=
datetime
.
utc
now
()
self
.
CurrentSubscriptionsCount
=
0
self
.
CurrentMonitoredItemsCount
=
0
self
.
CurrentPublishRequestsInQueue
=
0
...
...
@@ -14041,13 +14041,13 @@ class ProgramDiagnosticDataType(FrozenClass):
return
self
.
CreateSessionId
=
NodeId
()
self
.
CreateClientName
=
''
self
.
InvocationCreationTime
=
datetime
.
now
()
self
.
LastTransitionTime
=
datetime
.
now
()
self
.
InvocationCreationTime
=
datetime
.
utc
now
()
self
.
LastTransitionTime
=
datetime
.
utc
now
()
self
.
LastMethodCall
=
''
self
.
LastMethodSessionId
=
NodeId
()
self
.
LastMethodInputArguments
=
[]
self
.
LastMethodOutputArguments
=
[]
self
.
LastMethodCallTime
=
datetime
.
now
()
self
.
LastMethodCallTime
=
datetime
.
utc
now
()
self
.
LastMethodReturnStatus
=
StatusResult
()
self
.
_freeze
=
True
...
...
@@ -14126,7 +14126,7 @@ class Annotation(FrozenClass):
return
self
.
Message
=
''
self
.
UserName
=
''
self
.
AnnotationTime
=
datetime
.
now
()
self
.
AnnotationTime
=
datetime
.
utc
now
()
self
.
_freeze
=
True
def
to_binary
(
self
):
...
...
tests/tests.py
View file @
7e42b3bf
...
...
@@ -167,7 +167,7 @@ class Unit(unittest.TestCase):
self
.
assertEqual
(
v1
.
VariantType
,
v2
.
VariantType
)
def
test_datetime
(
self
):
now
=
datetime
.
now
()
now
=
datetime
.
utc
now
()
epch
=
ua
.
datetime_to_win_epoch
(
now
)
dt
=
ua
.
win_epoch_to_datetime
(
epch
)
self
.
assertEqual
(
now
,
dt
)
...
...
@@ -243,14 +243,14 @@ class Unit(unittest.TestCase):
self
.
assertEqual
(
type
(
dv
.
Value
),
ua
.
Variant
)
dv
=
ua
.
DataValue
(
'abc'
)
self
.
assertEqual
(
dv
.
Value
,
ua
.
Variant
(
'abc'
))
now
=
datetime
.
now
()
now
=
datetime
.
utc
now
()
dv
.
SourceTimestamp
=
now
def
test_variant
(
self
):
dv
=
ua
.
Variant
(
True
,
ua
.
VariantType
.
Boolean
)
self
.
assertEqual
(
dv
.
Value
,
True
)
self
.
assertEqual
(
type
(
dv
.
Value
),
bool
)
now
=
datetime
.
now
()
now
=
datetime
.
utc
now
()
v
=
ua
.
Variant
(
now
)
self
.
assertEqual
(
v
.
Value
,
now
)
self
.
assertEqual
(
v
.
VariantType
,
ua
.
VariantType
.
DateTime
)
...
...
@@ -268,7 +268,7 @@ class Unit(unittest.TestCase):
self
.
assertEqual
(
v
.
Value
,
v2
.
Value
)
self
.
assertEqual
(
v
.
VariantType
,
v2
.
VariantType
)
now
=
datetime
.
now
()
now
=
datetime
.
utc
now
()
v
=
ua
.
Variant
([
now
])
self
.
assertEqual
(
v
.
Value
[
0
],
now
)
self
.
assertEqual
(
v
.
VariantType
,
ua
.
VariantType
.
DateTime
)
...
...
@@ -407,7 +407,7 @@ class CommonTests(object):
ev
=
Event
(
self
.
srv
.
iserver
.
isession
)
msg
=
b"this is my msg "
ev
.
Message
.
Text
=
msg
tid
=
datetime
.
now
()
tid
=
datetime
.
utc
now
()
ev
.
Time
=
tid
ev
.
Severity
=
500
ev
.
trigger
()
...
...
@@ -431,7 +431,7 @@ class CommonTests(object):
ev
=
Event
(
self
.
srv
.
iserver
.
isession
)
msg
=
b"this is my msg "
ev
.
Message
.
Text
=
msg
tid
=
datetime
.
now
()
tid
=
datetime
.
utc
now
()
ev
.
Time
=
tid
ev
.
Severity
=
500
ev
.
trigger
()
...
...
@@ -472,7 +472,7 @@ class CommonTests(object):
def
test_datetime_write
(
self
):
time_node
=
self
.
opc
.
get_node
(
ua
.
NodeId
(
ua
.
ObjectIds
.
Server_ServerStatus_CurrentTime
))
now
=
datetime
.
now
()
now
=
datetime
.
utc
now
()
objects
=
self
.
opc
.
get_objects_node
()
v1
=
objects
.
add_variable
(
4
,
"test_datetime"
,
now
)
tid
=
v1
.
get_value
()
...
...
@@ -858,7 +858,7 @@ class CommonTests(object):
node
,
val
,
data
=
msclt
.
future
.
result
()
self
.
assertEqual
(
node
,
server_time_node
)
delta
=
datetime
.
now
()
-
val
delta
=
datetime
.
utc
now
()
-
val
self
.
assertTrue
(
delta
<
timedelta
(
seconds
=
2
))
sub
.
unsubscribe
(
handle
)
...
...
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