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
bbb
bbbmon
Commits
140a4492
Commit
140a4492
authored
Apr 23, 2020
by
David Huss
💬
Browse files
Fix Leaderport sorting and duration formatting
parent
3670715d
Changes
2
Show whitespace changes
Inline
Side-by-side
bbbmon/__pycache__/bbbmon.cpython-37.pyc
View file @
140a4492
No preview for this file type
bbbmon/bbbmon.py
View file @
140a4492
...
@@ -166,20 +166,19 @@ def get_duration(meeting: XmlDictConfig) -> timedelta:
...
@@ -166,20 +166,19 @@ def get_duration(meeting: XmlDictConfig) -> timedelta:
return
duration
return
duration
def
strfdelta
(
duration
:
timedelta
,
fmt
:
str
)
->
str
:
def
strfdelta
(
duration
:
timedelta
)
->
str
:
"""
"""
Helper function for datetime.timedelta formatting, use like this:
Helper function for datetime.timedelta formatting, use like this:
strfdelta(delta_obj, "{days} days {hours}:{minutes}:{seconds}")
strfdelta(delta_obj, "{days} days {hours}:{minutes}:{seconds}")
"""
"""
d
=
{
"days"
:
duration
.
days
}
s
=
int
(
duration
.
total_seconds
())
d
[
"hours"
],
remainder
=
divmod
(
duration
.
seconds
,
3600
)
d
[
"minutes"
],
d
[
"seconds"
]
=
divmod
(
remainder
,
60
)
return
'{:02}:{:02}:{:02}'
.
format
(
s
//
3600
,
s
%
3600
//
60
,
s
%
60
)
return
fmt
.
format
(
**
d
)
def
format_duration
(
meeting
:
XmlDictConfig
)
->
str
:
def
format_duration
(
meeting
:
XmlDictConfig
)
->
str
:
duration
=
get_duration
(
meeting
)
duration
=
get_duration
(
meeting
)
return
strfdelta
(
duration
,
"{hours}:{minutes}"
)
return
strfdelta
(
duration
)
...
@@ -200,7 +199,8 @@ def print_leaderboard(meetings: Iterable[XmlDictConfig], key: str):
...
@@ -200,7 +199,8 @@ def print_leaderboard(meetings: Iterable[XmlDictConfig], key: str):
participantCount)
participantCount)
"""
"""
print
(
"LEADERBOARD ({})"
.
format
(
FRIENDLY_KEYNAMES
[
key
]))
print
(
"LEADERBOARD ({})"
.
format
(
FRIENDLY_KEYNAMES
[
key
]))
for
m
in
meetings
:
sorted_by
=
sorted
([
m
for
m
in
meetings
],
key
=
lambda
x
:
int
(
x
[
key
]),
reverse
=
True
)
for
m
in
sorted_by
:
print
(
"{:>5} {:<45} {}"
.
format
(
m
[
key
],
m
[
"meetingName"
],
get_formated_presenter_name
(
m
)))
print
(
"{:>5} {:<45} {}"
.
format
(
m
[
key
],
m
[
"meetingName"
],
get_formated_presenter_name
(
m
)))
...
@@ -213,7 +213,7 @@ def print_duration_leaderboard(meetings: Iterable[XmlDictConfig]):
...
@@ -213,7 +213,7 @@ def print_duration_leaderboard(meetings: Iterable[XmlDictConfig]):
by_duration
=
sorted
([
m
for
m
in
meetings
],
key
=
lambda
x
:
int
(
get_duration
(
x
).
total_seconds
()),
reverse
=
True
)
by_duration
=
sorted
([
m
for
m
in
meetings
],
key
=
lambda
x
:
int
(
get_duration
(
x
).
total_seconds
()),
reverse
=
True
)
for
m
in
by_duration
:
for
m
in
by_duration
:
print
(
"{:>
5
} {:<45} {}"
.
format
(
format_duration
(
m
),
m
[
"meetingName"
],
get_formated_presenter_name
(
m
)))
print
(
"{:>
12
} {:<45} {}"
.
format
(
format_duration
(
m
),
m
[
"meetingName"
],
get_formated_presenter_name
(
m
)))
def
print_overview
(
secret
:
Secret
,
bbb_url
:
Url
):
def
print_overview
(
secret
:
Secret
,
bbb_url
:
Url
):
...
...
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