Skip to content
Snippets Groups Projects
Commit ba151407 authored by David Huss's avatar David Huss :speech_balloon:
Browse files

Add handling for counts on empty meetings

parent 4cc85ee9
Branches
No related tags found
No related merge requests found
__version__ = '0.1.3' __version__ = '0.1.4'
__all__ = ["bbbmeetings"] __all__ = ["bbbmeetings"]
from .bbbmeetings import BBBServers, BBBServer, Meeting, Attendee from .bbbmeetings import BBBServers, BBBServer, Meeting, Attendee
\ No newline at end of file
...@@ -54,14 +54,20 @@ class BBBServers(): ...@@ -54,14 +54,20 @@ class BBBServers():
""" """
Returns the count of participants of a meeting Returns the count of participants of a meeting
""" """
if len(self.meetings) == 0:
return 0
return sum([m.participantCount for m in self.meetings]) return sum([m.participantCount for m in self.meetings])
@property @property
def biggest_meeting(self) -> Optional['Meeting']: def biggest_meeting(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.people) return max(self.meetings, key=lambda m: m.people)
@property @property
def smallest_meeting(self) -> Optional['Meeting']: def smallest_meeting(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return min(self.meetings, key=lambda m: m.people) return min(self.meetings, key=lambda m: m.people)
@property @property
...@@ -70,34 +76,50 @@ class BBBServers(): ...@@ -70,34 +76,50 @@ class BBBServers():
@property @property
def listeners(self) -> int: def listeners(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.listenerCount for m in self.meetings]) return sum([m.listenerCount for m in self.meetings])
@property @property
def connected_with_mic(self) -> int: def connected_with_mic(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.voiceParticipantCount for m in self.meetings]) return sum([m.voiceParticipantCount for m in self.meetings])
@property @property
def video_active(self) -> int: def video_active(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.videoCount for m in self.meetings]) return sum([m.videoCount for m in self.meetings])
@property @property
def moderators(self) -> int: def moderators(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.moderatorCount for m in self.meetings]) return sum([m.moderatorCount for m in self.meetings])
@property @property
def longest_duration(self) -> Optional['Meeting']: def longest_duration(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.duration) return max(self.meetings, key=lambda m: m.duration)
@property @property
def most_listeners(self) -> Optional['Meeting']: def most_listeners(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.listeners) return max(self.meetings, key=lambda m: m.listeners)
@property @property
def most_video_active(self) -> Optional['Meeting']: def most_video_active(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.video_active) return max(self.meetings, key=lambda m: m.video_active)
@property @property
def most_moderators(self) -> Optional['Meeting']: def most_moderators(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.moderators) return max(self.meetings, key=lambda m: m.moderators)
@property @property
...@@ -154,46 +176,68 @@ class BBBServer(): ...@@ -154,46 +176,68 @@ class BBBServer():
@property @property
def biggest_meeting(self) -> Optional['Meeting']: def biggest_meeting(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.people) return max(self.meetings, key=lambda m: m.people)
@property @property
def smallest_meeting(self) -> Optional['Meeting']: def smallest_meeting(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return min(self.meetings, key=lambda m: m.people) return min(self.meetings, key=lambda m: m.people)
@property @property
def n_meetings(self) -> int: def n_meetings(self) -> int:
if len(self.meetings) == 0:
return 0
return len(self.meetings) return len(self.meetings)
@property @property
def listeners(self) -> int: def listeners(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.listeners for m in self.meetings]) return sum([m.listeners for m in self.meetings])
@property @property
def connected_with_mic(self) -> int: def connected_with_mic(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.connected_with_mic for m in self.meetings]) return sum([m.connected_with_mic for m in self.meetings])
@property @property
def video_active(self) -> int: def video_active(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.cideo_active for m in self.meetings]) return sum([m.cideo_active for m in self.meetings])
@property @property
def moderators(self) -> int: def moderators(self) -> int:
if len(self.meetings) == 0:
return 0
return sum([m.moderators for m in self.meetings]) return sum([m.moderators for m in self.meetings])
@property @property
def longest_duration(self) -> Optional['Meeting']: def longest_duration(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.duration) return max(self.meetings, key=lambda m: m.duration)
@property @property
def most_listeners(self) -> Optional['Meeting']: def most_listeners(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.listeners) return max(self.meetings, key=lambda m: m.listeners)
@property @property
def most_video_active(self) -> Optional['Meeting']: def most_video_active(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.video_active) return max(self.meetings, key=lambda m: m.video_active)
@property @property
def most_moderators(self) -> Optional['Meeting']: def most_moderators(self) -> Optional['Meeting']:
if len(self.meetings) == 0:
return None
return max(self.meetings, key=lambda m: m.moderators) return max(self.meetings, key=lambda m: m.moderators)
@property @property
......
[tool.poetry] [tool.poetry]
name = "bbbmeetings" name = "bbbmeetings"
version = "0.1.3" version = "0.1.4"
description = "A module for reading bbb meetings from bbb servers" description = "A module for reading bbb meetings from bbb servers"
authors = ["David Huss <david.huss@hfbk-hamburg.de>"] authors = ["David Huss <david.huss@hfbk-hamburg.de>"]
maintainers = ["David Huss <david.huss@hfbk-hamburg.de>"] maintainers = ["David Huss <david.huss@hfbk-hamburg.de>"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment