Skip to content

Instantly share code, notes, and snippets.

@pedroserrudo
Created July 27, 2022 14:10
Show Gist options
  • Save pedroserrudo/a4284edd4bbcef31d9f2bbc9d6b897d8 to your computer and use it in GitHub Desktop.
Save pedroserrudo/a4284edd4bbcef31d9f2bbc9d6b897d8 to your computer and use it in GitHub Desktop.
def get_user_scores_block(user) -> list:
header = [
{
"type": "header",
"text": {
"type": "plain_text",
"text": ":trophy: SCOREBOARD :trophy:",
"emoji": True,
},
}
]
group = UserCategory.objects.filter(user=user).order_by("-created").first().category
data = annotate_people_vs_group_comparison_scores_r1(user, group)
# constructor for the block text
behaviour_percentage_difference = (
(float(data["user_behaviour_score"]) - data["group_behaviour_score"])
/ data["group_behaviour_score"]
) * 100
behaviour_operator = "inline"
if data["user_behaviour_score"] > data["group_behaviour_score"]:
behaviour_operator = "above"
elif data["user_behaviour_score"] < data["group_behaviour_score"]:
behaviour_operator = "below"
risk_percentage_difference = (
(float(data["user_risk_score"]) - data["group_risk_score"])
/ data["group_risk_score"]
) * 100
risk_operator = "inline"
if data["user_risk_score"] > data["group_risk_score"]:
risk_operator = "higher"
elif data["user_risk_score"] < data["group_risk_score"]:
risk_operator = "lower"
blocks = [
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": f"Your *Behaviour Score* is {behaviour_operator} compared to your group average.",
},
],
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": f"Your *Risk Score* is {risk_operator} compared to your group average.",
},
],
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": f"*Behaviour Score:* {data['user_behaviour_score']}\n"
f"*Risk Score:* {data['user_risk_score']}",
},
{
"type": "mrkdwn",
"text": f"*Group Behaviour Score:* {data['group_behaviour_score']}\n"
f"*Group Risk Score:* {data['group_risk_score']}",
},
],
},
]
return header + blocks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment