aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pysite/constants.py20
-rw-r--r--pysite/views/api/bot/clean.py3
-rw-r--r--pysite/views/main/bot/cleanlog.py34
-rw-r--r--tests/test_clean_logs.py5
4 files changed, 27 insertions, 35 deletions
diff --git a/pysite/constants.py b/pysite/constants.py
index 69c73492..d7453871 100644
--- a/pysite/constants.py
+++ b/pysite/constants.py
@@ -101,6 +101,26 @@ JAM_QUESTION_TYPES = [
"slider"
]
+# Server role colors
+ROLE_COLORS = {
+ "owners": "#ffa3a1",
+ "admins": "#e76e6c",
+ "moderators": "#ce3c42",
+ "python": "#6f9fed",
+ "bots": "#6f9fed",
+ "admin bots": "#6f9fed",
+ "devops": "#a1d1ff",
+ "helpers": "#e0b000",
+ "subreddit moderators": "#d897ed",
+ "partners": "#b66fed",
+ "streamers": "#833cba",
+ "developers": "#fcfcfc",
+ "muted": "#fcfcfc",
+ "code jam champions": "#b108b4",
+ "jammers": "#258639",
+ "contributors": "#55cc6c"
+}
+
# CSRF
CSRF = CSRFProtect()
diff --git a/pysite/views/api/bot/clean.py b/pysite/views/api/bot/clean.py
index 216261ce..f914c03c 100644
--- a/pysite/views/api/bot/clean.py
+++ b/pysite/views/api/bot/clean.py
@@ -11,7 +11,8 @@ POST_SCHEMA = Schema({
{
"author": str,
"content": str,
- "timestamp": str
+ "timestamp": str,
+ "role": str
}
]
})
diff --git a/pysite/views/main/bot/cleanlog.py b/pysite/views/main/bot/cleanlog.py
index abd1ee2e..1c90dc0b 100644
--- a/pysite/views/main/bot/cleanlog.py
+++ b/pysite/views/main/bot/cleanlog.py
@@ -1,8 +1,7 @@
import logging
-import random
from pysite.base_route import RouteView
-from pysite.constants import ALL_STAFF_ROLES
+from pysite.constants import ALL_STAFF_ROLES, ROLE_COLORS
from pysite.decorators import require_roles
from pysite.mixins import DBMixin, OAuthMixin
@@ -16,35 +15,6 @@ class CleanLogView(RouteView, DBMixin, OAuthMixin):
table_name = "clean_logs"
template = "main/bot/clean_logs.html"
- # Colors
- author_colors = {}
- all_colors = [
- "#afcfff",
- "#93ff91",
- "#ffe559",
- "#ff9036",
- "#ff6c5e",
- "#ff65be",
- "#9298ff",
- ]
- color_pool = all_colors
-
- def _assign_color(self, author):
- """
- Assign a color to a specific author.
- """
-
- if not self.color_pool:
- self.color_pool = self.all_colors
-
- if author not in self.author_colors:
- random_index = random.randint(0, len(self.color_pool))
- color = self.color_pool.pop(random_index)
- self.author_colors[author] = color
- return color
- else:
- return self.author_colors[author]
-
@require_roles(ALL_STAFF_ROLES)
def get(self, log_id):
"""
@@ -60,6 +30,6 @@ class CleanLogView(RouteView, DBMixin, OAuthMixin):
messages = data["log_data"]
for message in messages:
- message['color'] = self._assign_color(message['author'])
+ message['color'] = ROLE_COLORS.get(message['role'], ROLE_COLORS['developers'])
return self.render(self.template, messages=messages)
diff --git a/tests/test_clean_logs.py b/tests/test_clean_logs.py
index 210306c0..4932b4b6 100644
--- a/tests/test_clean_logs.py
+++ b/tests/test_clean_logs.py
@@ -29,8 +29,9 @@ class TestCleanLogAPI(SiteTest):
good_data = json.dumps({
"log_data": [
{
- "author": "something",
- "content": "testy",
+ "author": "something",
+ "role": "awful",
+ "content": "testy",
"timestamp": "this way comes"
}
]