Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
juga
sbws
Commits
cea393f9
Verified
Commit
cea393f9
authored
Dec 16, 2021
by
juga
Browse files
Merge branch 'm13'
parents
2c26ad87
64c22724
Changes
2
Hide whitespace changes
Inline
Side-by-side
sbws/util/timestamps.py
View file @
cea393f9
...
...
@@ -38,7 +38,7 @@ class DateTimeSeq(collections.deque):
def
last
(
self
):
if
len
(
self
.
_items
)
>
0
:
return
self
.
_items
[
-
1
]
return
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
-
timedelta
(
hour
=
1
)
return
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
-
timedelta
(
hour
s
=
1
)
def
list
(
self
):
return
list
(
self
.
_items
)
...
...
@@ -80,7 +80,7 @@ class DateTimeIntSeq(collections.deque):
def
last
(
self
):
if
len
(
self
.
_items
)
>
0
:
return
self
.
_items
[
-
1
]
return
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
-
timedelta
(
hour
=
1
)
return
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
-
timedelta
(
hour
s
=
1
)
def
list
(
self
):
return
list
(
self
.
_items
)
...
...
tests/unit/util/test_timestamps.py
View file @
cea393f9
...
...
@@ -39,3 +39,38 @@ def test_update_datetime_int_seq(conf):
assert
8
==
state
.
count
(
"recent_measurement_attempt"
)
# And `len` should return the same.
assert
8
==
len
(
dt_seq
)
def
test_last_datetime_seq
(
conf
):
dt_seq
=
DateTimeSeq
([])
new_dts
=
dt_seq
.
last
()
assert
new_dts
==
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
-
timedelta
(
hours
=
1
)
def
test_create_list_datetime_seq
(
conf
):
now
=
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
# Create a list of 6 datetimes that started 6 days in the past.
dts
=
[
now
-
timedelta
(
days
=
x
)
for
x
in
range
(
6
,
0
,
-
1
)]
dt_seq
=
DateTimeSeq
(
dts
)
new_dts
=
dt_seq
.
list
()
assert
type
(
new_dts
)
==
list
def
test_create_list_dt_int_seq
(
conf
):
now
=
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
# Create a list of 6 datetimes that started 6 days in the past.
dts
=
[
now
-
timedelta
(
days
=
x
)
for
x
in
range
(
6
,
0
,
-
1
)]
dt_int_seq
=
DateTimeIntSeq
(
dts
)
new_dt_int_seq
=
dt_int_seq
.
list
()
assert
type
(
new_dt_int_seq
)
==
list
def
test_last_dt_int_seq
(
conf
):
dt_seq
=
DateTimeIntSeq
([])
assert
(
datetime
.
utcnow
().
replace
(
microsecond
=
0
)
-
timedelta
(
hours
=
1
)
==
dt_seq
.
last
()
)
Write
Preview
Supports
Markdown
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