From a315e0b5ea29ba2908525ab0eb75f7fea47fbf6f Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Sun, 25 Aug 2019 15:53:22 -0400 Subject: [PATCH 1/6] Using freshmen gravitar images --- packet/context_processors.py | 16 +++++++++++++++- packet/templates/active_packets.html | 2 +- packet/templates/packet.html | 2 +- packet/templates/upperclassman.html | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packet/context_processors.py b/packet/context_processors.py index 52347203..87f752ec 100644 --- a/packet/context_processors.py +++ b/packet/context_processors.py @@ -1,7 +1,8 @@ """ Context processors used by the jinja templates """ - +import hashlib +import urllib from functools import lru_cache from datetime import datetime @@ -18,6 +19,7 @@ def get_csh_name(username): except: return username + def get_roles(sig): """ Converts a signature's role fields to a dict for ease of access. @@ -49,6 +51,18 @@ def get_rit_name(username): return username +@lru_cache(maxsize=128) +def get_rit_image(username): + if username: + addresses = [username + "@rit.edu", username + "@g.rit.edu"] + for addr in addresses: + url = "https://gravatar.com/avatar/" + hashlib.md5(addr.encode('utf8')).hexdigest() + ".jpg?d=404&s=250" + gravatar = urllib.request.urlopen(url) + if gravatar.getcode() == 200: + return url + return "https://www.gravatar.com/avatar/freshmen?d=mp&f=y" + + def log_time(label): """ Used during debugging to log timestamps while rendering templates diff --git a/packet/templates/active_packets.html b/packet/templates/active_packets.html index fd5fdf20..ad3c9889 100644 --- a/packet/templates/active_packets.html +++ b/packet/templates/active_packets.html @@ -42,7 +42,7 @@

Active Packets

{{ get_rit_name(packet.freshman_username) }} {{ get_rit_name(packet.freshman_username) }} diff --git a/packet/templates/packet.html b/packet/templates/packet.html index 5d1a1e5d..17b6c73b 100644 --- a/packet/templates/packet.html +++ b/packet/templates/packet.html @@ -110,7 +110,7 @@
Upperclassmen Score - {{ '%0.2f' % upper_score }}%
{{ sig.freshman_username }} {{ get_rit_name(sig.freshman_username) }} diff --git a/packet/templates/upperclassman.html b/packet/templates/upperclassman.html index 4dc40e1c..07268c5b 100644 --- a/packet/templates/upperclassman.html +++ b/packet/templates/upperclassman.html @@ -33,7 +33,7 @@

{{ get_rit_name(packet.freshman_username) }} {{ get_rit_name(packet.freshman_username) }} From d0c9e53afc087f1cd7572bf61c56aab9ef6a7014 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Sun, 25 Aug 2019 16:10:24 -0400 Subject: [PATCH 2/6] Fixing username reference --- packet/templates/packet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packet/templates/packet.html b/packet/templates/packet.html index 17b6c73b..62708a74 100644 --- a/packet/templates/packet.html +++ b/packet/templates/packet.html @@ -110,7 +110,7 @@
Upperclassmen Score - {{ '%0.2f' % upper_score }}%
{{ sig.freshman_username }} {{ get_rit_name(sig.freshman_username) }} From 6f056d8d3f40f8a81af31fe0b94ae77a55f173e4 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Tue, 27 Aug 2019 09:41:39 -0400 Subject: [PATCH 3/6] Ldap Sync bugfix --- package.json | 2 +- packet/commands.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ec881a39..6cc93f51 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "title": "CSH Packet", "name": "csh-packet", - "version": "3.3.0", + "version": "3.3.1", "description": "A web app implementation of the CSH introductory packet.", "bugs": { "url": "https://github.com/ComputerScienceHouse/packet/issues", diff --git a/packet/commands.py b/packet/commands.py index ccfc8e3a..5b290cfd 100644 --- a/packet/commands.py +++ b/packet/commands.py @@ -205,7 +205,7 @@ def ldap_sync(): # pylint: disable=cell-var-from-loop upper_sigs = set(map(lambda sig: sig.member, packet.upper_signatures)) for member in filter(lambda member: member not in upper_sigs, all_upper): - UpperSignature(packet=packet, member=member) + sig = UpperSignature(packet=packet, member=member) sig.eboard = ldap_get_eboard_role(all_upper[sig.member]) sig.active_rtp = sig.member in rtp sig.three_da = sig.member in three_da From 971c24b3a7520c65d9934f4acf41cc28bf7005d3 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Tue, 27 Aug 2019 10:44:35 -0400 Subject: [PATCH 4/6] Fixing quotes --- packet/context_processors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packet/context_processors.py b/packet/context_processors.py index 87f752ec..06733448 100644 --- a/packet/context_processors.py +++ b/packet/context_processors.py @@ -56,7 +56,7 @@ def get_rit_image(username): if username: addresses = [username + "@rit.edu", username + "@g.rit.edu"] for addr in addresses: - url = "https://gravatar.com/avatar/" + hashlib.md5(addr.encode('utf8')).hexdigest() + ".jpg?d=404&s=250" + url = "https://gravatar.com/avatar/" + hashlib.md5(addr.encode("utf8")).hexdigest() + ".jpg?d=404&s=250" gravatar = urllib.request.urlopen(url) if gravatar.getcode() == 200: return url From 9422ff4e78f6c73497e166c53f0e84a38bdb37ef Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Fri, 30 Aug 2019 11:20:57 -0400 Subject: [PATCH 5/6] Image Hotfix --- packet/context_processors.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packet/context_processors.py b/packet/context_processors.py index 06733448..fc3b9456 100644 --- a/packet/context_processors.py +++ b/packet/context_processors.py @@ -72,4 +72,7 @@ def log_time(label): @app.context_processor def utility_processor(): - return dict(get_csh_name=get_csh_name, get_rit_name=get_rit_name, log_time=log_time, get_roles=get_roles) + return dict( + get_csh_name=get_csh_name, get_rit_name=get_rit_name, get_rit_image=get_rit_image, log_time=log_time, + get_roles=get_roles + ) From b5342b0201e9c0be54fd1a53e12b2f63138cfeb0 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Fri, 30 Aug 2019 11:31:55 -0400 Subject: [PATCH 6/6] Image Hotfix pt.2 --- packet/context_processors.py | 10 +++++++--- packet/static/js/tables.js | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packet/context_processors.py b/packet/context_processors.py index fc3b9456..8aade420 100644 --- a/packet/context_processors.py +++ b/packet/context_processors.py @@ -51,15 +51,19 @@ def get_rit_name(username): return username +# pylint: disable=bare-except @lru_cache(maxsize=128) def get_rit_image(username): if username: addresses = [username + "@rit.edu", username + "@g.rit.edu"] for addr in addresses: url = "https://gravatar.com/avatar/" + hashlib.md5(addr.encode("utf8")).hexdigest() + ".jpg?d=404&s=250" - gravatar = urllib.request.urlopen(url) - if gravatar.getcode() == 200: - return url + try: + gravatar = urllib.request.urlopen(url) + if gravatar.getcode() == 200: + return url + except: + continue return "https://www.gravatar.com/avatar/freshmen?d=mp&f=y" diff --git a/packet/static/js/tables.js b/packet/static/js/tables.js index 44169a9a..5c9fa8f7 100644 --- a/packet/static/js/tables.js +++ b/packet/static/js/tables.js @@ -3,6 +3,7 @@ $(document).ready(function () { $('#active_packets_table').DataTable({ "searching": true, "order": [], + "scrollX": false, "paging": false, "info": false, "columnDefs": [