From ae3a99cda8983b6637a727ed1f88c4ccd8cb82b9 Mon Sep 17 00:00:00 2001 From: Brandon Nguyen <112731698+bxngyn@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:21:39 -0400 Subject: [PATCH 1/4] add motivational msgs --- check50/renderer/_renderers.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/check50/renderer/_renderers.py b/check50/renderer/_renderers.py index 0ddc252..cc5ac37 100644 --- a/check50/renderer/_renderers.py +++ b/check50/renderer/_renderers.py @@ -1,5 +1,6 @@ import json import pathlib +import random import jinja2 import termcolor @@ -44,5 +45,15 @@ def to_ansi(slug, results, version, _log=False): if _log: lines += (f" {line}" for line in result["log"]) + + if not all(result["passed"] for result in results): + if random.random() < 0.20: + message = random.choice([ + "~~~~~ You can do it! ~~~~~", + "~~~~~ Keep it up! ~~~~~", + "~~~~~ You're getting there! ~~~~~" + ]) + lines.append(termcolor.colored(message, "magenta")) + return "\n".join(lines) From dcfb57308f9bb3ed783d26f24c93554331304992 Mon Sep 17 00:00:00 2001 From: Brandon Nguyen <112731698+bxngyn@users.noreply.github.com> Date: Tue, 15 Jul 2025 12:16:32 -0400 Subject: [PATCH 2/4] update msg display case --- check50/renderer/_renderers.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/check50/renderer/_renderers.py b/check50/renderer/_renderers.py index cc5ac37..c7882d3 100644 --- a/check50/renderer/_renderers.py +++ b/check50/renderer/_renderers.py @@ -27,8 +27,11 @@ def to_json(slug, results, version): def to_ansi(slug, results, version, _log=False): lines = [termcolor.colored(_("Results for {} generated by check50 v{}").format(slug, version), "white", attrs=["bold"])] + num_passed = 0 + total_tests = len(results) for result in results: if result["passed"]: + num_passed += 1 lines.append(termcolor.colored(f":) {result['description']}", "green")) elif result["passed"] is None: lines.append(termcolor.colored(f":| {result['description']}", "yellow")) @@ -46,8 +49,8 @@ def to_ansi(slug, results, version, _log=False): if _log: lines += (f" {line}" for line in result["log"]) - if not all(result["passed"] for result in results): - if random.random() < 0.20: + if not all(result["passed"] for result in results) and num_passed > total_tests // 2: + if random.random() < 1.0: message = random.choice([ "~~~~~ You can do it! ~~~~~", "~~~~~ Keep it up! ~~~~~", From 74340bae5d3d9bc27771b4d49321b593d39341ec Mon Sep 17 00:00:00 2001 From: Brandon Nguyen <112731698+bxngyn@users.noreply.github.com> Date: Tue, 15 Jul 2025 12:17:10 -0400 Subject: [PATCH 3/4] update probability --- check50/renderer/_renderers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check50/renderer/_renderers.py b/check50/renderer/_renderers.py index c7882d3..1230f49 100644 --- a/check50/renderer/_renderers.py +++ b/check50/renderer/_renderers.py @@ -50,7 +50,7 @@ def to_ansi(slug, results, version, _log=False): lines += (f" {line}" for line in result["log"]) if not all(result["passed"] for result in results) and num_passed > total_tests // 2: - if random.random() < 1.0: + if random.random() < 0.20: message = random.choice([ "~~~~~ You can do it! ~~~~~", "~~~~~ Keep it up! ~~~~~", From dcd23d61789457e8cd89ef813cc13793cb93d468 Mon Sep 17 00:00:00 2001 From: Rongxin Liu Date: Tue, 15 Jul 2025 12:26:36 -0400 Subject: [PATCH 4/4] reduce code redundancy --- check50/renderer/_renderers.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/check50/renderer/_renderers.py b/check50/renderer/_renderers.py index 1230f49..0795032 100644 --- a/check50/renderer/_renderers.py +++ b/check50/renderer/_renderers.py @@ -28,7 +28,6 @@ def to_json(slug, results, version): def to_ansi(slug, results, version, _log=False): lines = [termcolor.colored(_("Results for {} generated by check50 v{}").format(slug, version), "white", attrs=["bold"])] num_passed = 0 - total_tests = len(results) for result in results: if result["passed"]: num_passed += 1 @@ -49,7 +48,7 @@ def to_ansi(slug, results, version, _log=False): if _log: lines += (f" {line}" for line in result["log"]) - if not all(result["passed"] for result in results) and num_passed > total_tests // 2: + if not all(result["passed"] for result in results) and num_passed > len(results) // 2: if random.random() < 0.20: message = random.choice([ "~~~~~ You can do it! ~~~~~",