Skip to content

Commit 3882dd1

Browse files
authored
Fixed edge case in engagement score normalisation (#7)
1 parent e787040 commit 3882dd1

File tree

1 file changed

+6
-13
lines changed
  • backend/src/serverless/microservices/python/crowd-members-score/crowd/members_score

1 file changed

+6
-13
lines changed

backend/src/serverless/microservices/python/crowd-members-score/crowd/members_score/members_score.py

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,6 @@ def __init__(self, tenant_id, repository=False, test=False, send=True):
2424
self.repository = repository
2525

2626
self.fetch_scores()
27-
# print([
28-
# member.id for member in self.repository.find_all(Tenant, query={})
29-
# ])
30-
31-
print(self.tenants.fetchall())
3227
self.team_members = [
3328
member.id for member in self.repository.find_all(CommunityMember, query={"crowdInfo.team": True})
3429
]
@@ -76,11 +71,7 @@ def fetch_scores(self):
7671
group by "communityMemberId", date("timestamp")) T on T."cm_id"=FullDates."communityMemberId" and T."timestamp" = FullDates.MyJoinDate\
7772
group by FullDates."communityMemberId", FullDates.MyJoinDate order by FullDates.MyJoinDate asc\
7873
) Daily group by "communityMemberId", extract(month from MyJoinDate), extract(year from MyJoinDate)'
79-
)
80-
81-
self.tenants = con.execute(
82-
'select count(*), "tenantId" from "communityMembers" cm group by "tenantId" order by count(*) ASC'
83-
)
74+
).fetchall()
8475

8576
def _calculate_months(self, date):
8677
"""
@@ -140,9 +131,7 @@ def _member_scores_(self, members):
140131
to the score of the member.
141132
"""
142133

143-
id = self.repository.tenant_id
144-
145-
mean_scores = self.mean_scores.fetchall()
134+
mean_scores = self.mean_scores
146135

147136
scores = {}
148137
for i, row in enumerate(mean_scores):
@@ -218,6 +207,10 @@ def main(self):
218207
self.scores = self._member_scores_(members)
219208
logger.info("Done")
220209

210+
# Take care of case where tenant doesn't have activities
211+
if len(self.scores) == 0:
212+
return {}
213+
221214
logger.info("Normalising scores...")
222215
scores_to_update = self.normalise(self.scores)
223216
logger.info("Done")

0 commit comments

Comments
 (0)