Skip to content

Commit d80442d

Browse files
refactor: remove all TUF references from backend and frontend, increase CodeChef pacing delay
1 parent 4ecb955 commit d80442d

6 files changed

Lines changed: 5 additions & 135 deletions

File tree

‎frontend/src/hooks/useLeaderboard.ts‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ export interface LeaderboardMember {
1919
leetcode_total: number;
2020
total_solved: number;
2121
total_contributions: number;
22-
tuf_handle: string | null;
23-
tuf_solved: number;
2422
contests_attended: number;
2523
valid_github_commits: number;
2624
codeforces_rating: number;
@@ -92,8 +90,6 @@ export function useLeaderboard() {
9290
leetcode_total: entry.leetcode_total,
9391
total_solved: calculatedTotalSolved,
9492
total_contributions: calculatedContributions,
95-
tuf_handle: entry.members.tuf_handle,
96-
tuf_solved: 0,
9793
contests_attended: entry.contests_attended,
9894
valid_github_commits: entry.valid_github_commits,
9995
codeforces_rating: entry.codeforces_rating,

‎frontend/src/services/codexApi.ts‎

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ export interface LeaderboardEntry {
1919
codeforces_solved?: number;
2020
codechef_solved?: number;
2121
gfg_solved?: number;
22-
tuf_solved: number;
2322
github_contributions: number;
2423
raw_github_commits: number;
2524
valid_github_commits: number;
@@ -33,7 +32,6 @@ export interface LeaderboardEntry {
3332
roll_number: string | null;
3433
avatar_url: string | null;
3534
github_handle: string | null;
36-
tuf_handle: string | null;
3735
};
3836
}
3937

@@ -74,7 +72,6 @@ export async function getDailyLeaderboard(): Promise<LeaderboardEntry[]> {
7472
codeforces_solved,
7573
codechef_solved,
7674
gfg_solved,
77-
tuf_solved,
7875
github_contributions,
7976
raw_github_commits,
8077
valid_github_commits,
@@ -274,10 +271,6 @@ export interface MemberSnapshot {
274271
codechef_rating: number;
275272
codechef_max_rating: number;
276273
codechef_solved: number;
277-
tuf_solved: number;
278-
tuf_easy: number;
279-
tuf_medium: number;
280-
tuf_hard: number;
281274
leetcode_rating: number;
282275
leetcode_max_rating: number;
283276
gfg_solved: number;
@@ -302,7 +295,6 @@ export interface MemberProfile {
302295
codechef_handle: string | null;
303296
gfg_handle: string | null;
304297
hackerrank_handle: string | null;
305-
tuf_handle: string | null;
306298
bio: string | null;
307299
linkedin_url: string | null;
308300
github_url: string | null;
@@ -319,7 +311,7 @@ export async function getMemberProfile(handle: string): Promise<MemberProfile |
319311
const { data: members, error } = await supabase
320312
.from("members")
321313
.select(
322-
"id, full_name, roll_number, avatar_url, github_handle, leetcode_handle, codeforces_handle, codechef_handle, gfg_handle, hackerrank_handle, tuf_handle, bio, linkedin_url, github_url, portfolio_url"
314+
"id, full_name, roll_number, avatar_url, github_handle, leetcode_handle, codeforces_handle, codechef_handle, gfg_handle, hackerrank_handle, bio, linkedin_url, github_url, portfolio_url"
323315
)
324316
.eq(field, handle)
325317
.limit(1);
@@ -342,7 +334,6 @@ export async function getMemberProfile(handle: string): Promise<MemberProfile |
342334
gfg_school, gfg_basic, gfg_easy, gfg_medium, gfg_hard, gfg_solved, gfg_score,
343335
github_contributions, raw_github_commits, valid_github_commits, github_prs, github_issues, codeforces_rating, codeforces_max_rating, codeforces_solved,
344336
codechef_rating, codechef_max_rating, codechef_solved,
345-
tuf_solved, tuf_easy, tuf_medium, tuf_hard,
346337
hackerrank_badges, contests_attended, leetcode_contests, codeforces_contests, codechef_contests, topic_stats, badges_detail`
347338
)
348339
.eq("member_id", member.id)
@@ -414,7 +405,6 @@ export async function getMonthlyLeaderboard(): Promise<MonthlyLeaderboardEntry[]
414405
codeforces_solved,
415406
codechef_solved,
416407
gfg_solved,
417-
tuf_solved,
418408
github_contributions,
419409
raw_github_commits,
420410
valid_github_commits,

‎scripts/fetchers/codechef.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ async def fetch_codechef(session: aiohttp.ClientSession, handle: str) -> dict:
3636
await asyncio.sleep(0.5)
3737
stats_resp = await safe_fetch(session, f"{BASE}/stats")
3838
finally:
39-
await asyncio.sleep(1.0)
39+
await asyncio.sleep(2.0)
4040

4141
# 1. Profile summary
4242
profile = profile_resp.get("data") or {}

‎scripts/fetchers/tuf.py‎

Lines changed: 0 additions & 87 deletions
This file was deleted.

‎scripts/main.py‎

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
fetch_codechef,
1515
fetch_gfg,
1616
fetch_hackerrank,
17-
fetch_tuf,
1817
)
1918
from fetchers.utils import REQUEST_TIMEOUT
2019

@@ -97,7 +96,6 @@ def calculate_total_activity(snapshot: dict) -> int:
9796
snapshot.get("codeforces_solved", 0) +
9897
snapshot.get("codechef_solved", 0) +
9998
snapshot.get("gfg_solved", 0) +
100-
snapshot.get("tuf_solved", 0) +
10199
snapshot.get("hackerrank_badges", 0) +
102100
snapshot.get("github_contributions", 0) +
103101
snapshot.get("github_prs", 0) +
@@ -133,18 +131,16 @@ async def sync_member_async(supabase_client, session: aiohttp.ClientSession, mem
133131
cc_handle = member.get("codechef_handle")
134132
gfg_handle = member.get("gfg_handle")
135133
hr_handle = member.get("hackerrank_handle")
136-
tuf_handle = member.get("tuf_handle")
137134

138135
async def _noop() -> dict: return {}
139136

140-
gh_data, cf_data, lc_data, cc_data, gfg_data, hr_data, tuf_data = await asyncio.gather(
137+
gh_data, cf_data, lc_data, cc_data, gfg_data, hr_data = await asyncio.gather(
141138
fetch_github(session, gh_handle) if gh_handle else _noop(),
142139
fetch_codeforces(session, cf_handle) if cf_handle else _noop(),
143140
fetch_leetcode(session, lc_handle) if lc_handle else _noop(),
144141
fetch_codechef(session, cc_handle) if cc_handle else _noop(),
145142
fetch_gfg(session, gfg_handle) if gfg_handle else _noop(),
146143
fetch_hackerrank(session, hr_handle) if hr_handle else _noop(),
147-
fetch_tuf(session, tuf_handle) if tuf_handle else _noop(),
148144
return_exceptions=False,
149145
)
150146

@@ -288,23 +284,6 @@ async def _noop() -> dict: return {}
288284
_hr_badges_list = hr_data.get("hr_badges_list", [])
289285
_hr_topics = hr_data.get("hr_topics", {})
290286

291-
if tuf_handle and tuf_data:
292-
tuf_solved = tuf_data.get("tuf_solved", 0)
293-
if yesterday_snap and tuf_solved < yesterday_snap.get("tuf_solved", 0):
294-
snapshot.update({
295-
"tuf_solved": yesterday_snap.get("tuf_solved", 0),
296-
"tuf_easy": yesterday_snap.get("tuf_easy", 0),
297-
"tuf_medium": yesterday_snap.get("tuf_medium", 0),
298-
"tuf_hard": yesterday_snap.get("tuf_hard", 0),
299-
})
300-
else:
301-
snapshot.update({
302-
"tuf_solved": tuf_solved,
303-
"tuf_easy": tuf_data.get("tuf_easy", 0),
304-
"tuf_medium": tuf_data.get("tuf_medium", 0),
305-
"tuf_hard": tuf_data.get("tuf_hard", 0),
306-
})
307-
308287
snapshot["contests_attended"] = _cf_contests + _lc_contests + _cc_contests
309288

310289
# Merge old topics/badges to prevent resetting if any API failed

‎scripts/scoring.py‎

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def calculate_score(snapshot: dict) -> dict:
3636
cf_solved = snapshot.get("codeforces_solved") or 0
3737
cf_solved_pts = min(50.0, (cf_solved / 250.0) * 50.0)
3838

39-
# GFG/CodeChef/TUF/HackerRank (Max 25 pts) - Target: 300 combined
39+
# GFG/CodeChef/HackerRank (Max 25 pts) - Target: 300 combined
4040
gfg_weight = (
4141
(snapshot.get("gfg_school") or 0) * 0.0 +
4242
(snapshot.get("gfg_basic") or 0) * 0.5 +
@@ -47,18 +47,10 @@ def calculate_score(snapshot: dict) -> dict:
4747
if gfg_weight == 0 and (snapshot.get("gfg_solved") or 0) > 0:
4848
gfg_weight = (snapshot.get("gfg_solved") or 0) * 1.5
4949

50-
tuf_weight = (
51-
(snapshot.get("tuf_easy") or 0) * 1.0 +
52-
(snapshot.get("tuf_medium") or 0) * 3.0 +
53-
(snapshot.get("tuf_hard") or 0) * 6.0
54-
)
55-
if tuf_weight == 0 and (snapshot.get("tuf_solved") or 0) > 0:
56-
tuf_weight = (snapshot.get("tuf_solved") or 0) * 1.5
57-
5850
cc_solved = (snapshot.get("codechef_solved") or 0) * 2.0
5951
hr_badges = snapshot.get("hackerrank_badges") or 0
6052

61-
other_volume = gfg_weight + tuf_weight + cc_solved + (hr_badges * 5.0)
53+
other_volume = gfg_weight + cc_solved + (hr_badges * 5.0)
6254
other_volume_pts = min(25.0, (other_volume / 300.0) * 25.0)
6355

6456
solved_score = lc_solved_pts + cf_solved_pts + other_volume_pts

0 commit comments

Comments
 (0)