No-op if no membership change and thus simplify verbose dict updates.
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
This commit is contained in:
@@ -161,9 +161,7 @@ class StatsHandler(StateDeltasHandler):
|
||||
if prev_event_id is None:
|
||||
# this state event doesn't overwrite another,
|
||||
# so it is a new effective/current state event
|
||||
room_stats_delta["current_state_events"] = (
|
||||
room_stats_delta.get("current_state_events", 0) + 1
|
||||
)
|
||||
room_stats_delta["current_state_events"] = 1
|
||||
|
||||
if typ == EventTypes.Member:
|
||||
# we could use _get_key_change here but it's a bit inefficient
|
||||
@@ -188,43 +186,31 @@ class StatsHandler(StateDeltasHandler):
|
||||
|
||||
if prev_membership is None:
|
||||
logger.debug("No previous membership for this user.")
|
||||
elif membership == prev_membership:
|
||||
pass # noop
|
||||
elif prev_membership == Membership.JOIN:
|
||||
room_stats_delta["joined_members"] = (
|
||||
room_stats_delta.get("joined_members", 0) - 1
|
||||
)
|
||||
room_stats_delta["joined_members"] = -1
|
||||
elif prev_membership == Membership.INVITE:
|
||||
room_stats_delta["invited_members"] = (
|
||||
room_stats_delta.get("invited_members", 0) - 1
|
||||
)
|
||||
room_stats_delta["invited_members"] = -1
|
||||
elif prev_membership == Membership.LEAVE:
|
||||
room_stats_delta["left_members"] = (
|
||||
room_stats_delta.get("left_members", 0) - 1
|
||||
)
|
||||
room_stats_delta["left_members"] = -1
|
||||
elif prev_membership == Membership.BAN:
|
||||
room_stats_delta["banned_members"] = (
|
||||
room_stats_delta.get("banned_members", 0) - 1
|
||||
)
|
||||
room_stats_delta["banned_members"] = -1
|
||||
else:
|
||||
err = "%s is not a valid prev_membership" % (repr(prev_membership),)
|
||||
logger.error(err)
|
||||
raise ValueError(err)
|
||||
|
||||
if membership == prev_membership:
|
||||
pass # noop
|
||||
if membership == Membership.JOIN:
|
||||
room_stats_delta["joined_members"] = (
|
||||
room_stats_delta.get("joined_members", 0) + 1
|
||||
)
|
||||
room_stats_delta["joined_members"] = +1
|
||||
elif membership == Membership.INVITE:
|
||||
room_stats_delta["invited_members"] = (
|
||||
room_stats_delta.get("invited_members", 0) + 1
|
||||
)
|
||||
room_stats_delta["invited_members"] = +1
|
||||
elif membership == Membership.LEAVE:
|
||||
room_stats_delta["left_members"] = (
|
||||
room_stats_delta.get("left_members", 0) + 1
|
||||
)
|
||||
room_stats_delta["left_members"] = +1
|
||||
elif membership == Membership.BAN:
|
||||
room_stats_delta["banned_members"] = (
|
||||
room_stats_delta.get("banned_members", 0) + 1
|
||||
)
|
||||
room_stats_delta["banned_members"] = +1
|
||||
else:
|
||||
err = "%s is not a valid membership" % (repr(membership),)
|
||||
logger.error(err)
|
||||
@@ -234,7 +220,7 @@ class StatsHandler(StateDeltasHandler):
|
||||
if self.is_mine_id(user_id) and membership in (
|
||||
Membership.JOIN,
|
||||
Membership.LEAVE,
|
||||
):
|
||||
) and prev_membership != membership:
|
||||
# update user_stats as it's one of our users
|
||||
public = yield self._is_public_room(room_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user