Pendrokar commited on
Commit
48445ab
·
1 Parent(s): 1593f23

score diff since app start

Browse files
Files changed (3) hide show
  1. app/leaderboard.py +27 -2
  2. app/ui_leaderboard.py +1 -1
  3. app/vote.py +4 -4
app/leaderboard.py CHANGED
@@ -1,14 +1,18 @@
1
  from .config import *
2
  from .db import *
3
  from .models import *
 
4
 
5
  import pandas as pd
 
 
 
6
  def get_leaderboard(reveal_prelim = False):
 
7
 
8
  conn = get_db()
9
  cursor = conn.cursor()
10
  sql = 'SELECT name, upvote, downvote, name AS orig_name FROM model'
11
- # if not reveal_prelim: sql += ' WHERE EXISTS (SELECT 1 FROM model WHERE (upvote + downvote) > 750)'
12
  if not reveal_prelim: sql += ' WHERE (upvote + downvote) > 300'
13
  cursor.execute(sql)
14
  data = cursor.fetchall()
@@ -22,6 +26,7 @@ def get_leaderboard(reveal_prelim = False):
22
 
23
  ## ELO SCORE
24
  df['score'] = 1200
 
25
  for i in range(len(df)):
26
  for j in range(len(df)):
27
  if i != j:
@@ -36,6 +41,26 @@ def get_leaderboard(reveal_prelim = False):
36
  print(f"Error in ELO calculation for rows {i} and {j}: {str(e)}")
37
  continue
38
  df['score'] = round(df['score'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  ## ELO SCORE
40
  df = df.sort_values(by='score', ascending=False)
41
  # medals
@@ -53,7 +78,6 @@ def get_leaderboard(reveal_prelim = False):
53
 
54
  df['order'] = [assign_medal(i, not reveal_prelim and len(df) > 2) for i in range(len(df))]
55
  # fetch top_five
56
- top_five = []
57
  for orig_name in df['orig_name']:
58
  if (
59
  reveal_prelim
@@ -62,6 +86,7 @@ def get_leaderboard(reveal_prelim = False):
62
  ):
63
  top_five.append(orig_name)
64
 
 
65
  df = df[['order', 'name', 'score', 'votes']]
66
  return df
67
 
 
1
  from .config import *
2
  from .db import *
3
  from .models import *
4
+ from .synth import top_five
5
 
6
  import pandas as pd
7
+
8
+ # for diff
9
+ leaderboard_df = {}
10
  def get_leaderboard(reveal_prelim = False):
11
+ global leaderboard_df
12
 
13
  conn = get_db()
14
  cursor = conn.cursor()
15
  sql = 'SELECT name, upvote, downvote, name AS orig_name FROM model'
 
16
  if not reveal_prelim: sql += ' WHERE (upvote + downvote) > 300'
17
  cursor.execute(sql)
18
  data = cursor.fetchall()
 
26
 
27
  ## ELO SCORE
28
  df['score'] = 1200
29
+ df['score_diff'] = ""
30
  for i in range(len(df)):
31
  for j in range(len(df)):
32
  if i != j:
 
41
  print(f"Error in ELO calculation for rows {i} and {j}: {str(e)}")
42
  continue
43
  df['score'] = round(df['score'])
44
+ df['score_diff'] = df['score']
45
+
46
+ if (
47
+ reveal_prelim == False
48
+ and len(leaderboard_df) == 0
49
+ ):
50
+ leaderboard_df = df
51
+
52
+ if (reveal_prelim == False):
53
+ for i in range(len(df)):
54
+ score_diff = (df['score'].iloc[i] - leaderboard_df['score'].iloc[i])
55
+ if (score_diff == 0):
56
+ continue
57
+ if (score_diff > 0):
58
+ plus = '<em style="color: green; font-family: monospace">+'
59
+ else:
60
+ plus = '<em style="color: red; font-family: monospace">'
61
+
62
+ df.at[i, 'score_diff'] = str(df['score'].iloc[i]) + plus + str(score_diff) +'</em>'
63
+
64
  ## ELO SCORE
65
  df = df.sort_values(by='score', ascending=False)
66
  # medals
 
78
 
79
  df['order'] = [assign_medal(i, not reveal_prelim and len(df) > 2) for i in range(len(df))]
80
  # fetch top_five
 
81
  for orig_name in df['orig_name']:
82
  if (
83
  reveal_prelim
 
86
  ):
87
  top_five.append(orig_name)
88
 
89
+ df['score'] = df['score_diff']
90
  df = df[['order', 'name', 'score', 'votes']]
91
  return df
92
 
app/ui_leaderboard.py CHANGED
@@ -10,7 +10,7 @@ with gr.Blocks() as leaderboard:
10
  min_width=0,
11
  wrap=False,
12
  column_widths=[30, 200, 50, 50],
13
- datatype=["str", "html", "number", "number"]
14
  )
15
  reloadbtn = gr.Button("Refresh")
16
  with gr.Row():
 
10
  min_width=0,
11
  wrap=False,
12
  column_widths=[30, 200, 50, 50],
13
+ datatype=["str", "html", "html", "number"]
14
  )
15
  reloadbtn = gr.Button("Refresh")
16
  with gr.Row():
app/vote.py CHANGED
@@ -117,11 +117,11 @@ def reload(chosenmodel1=None, chosenmodel2=None, userid=None, chose_a=False, cho
117
  ]
118
  style = 'text-align: center; font-size: 1rem; margin-bottom: 0; padding: var(--input-padding)'
119
  if chose_a == True:
120
- out.append(gr.update(value=f'<p style="{style}">Your vote: {chosenmodel1}</p>', visible=True))
121
- out.append(gr.update(value=f'<p style="{style}">{chosenmodel2}</p>', visible=True))
122
  else:
123
- out.append(gr.update(value=f'<p style="{style}">{chosenmodel1}</p>', visible=True))
124
- out.append(gr.update(value=f'<p style="{style}">Your vote: {chosenmodel2}</p>', visible=True))
125
  out.append(gr.update(visible=True))
126
  return out
127
 
 
117
  ]
118
  style = 'text-align: center; font-size: 1rem; margin-bottom: 0; padding: var(--input-padding)'
119
  if chose_a == True:
120
+ out.append(gr.HTML(value=f'<p style="{style}">Your vote: {chosenmodel1}</p>', visible=True))
121
+ out.append(gr.HTML(value=f'<p style="{style}">{chosenmodel2}</p>', visible=True))
122
  else:
123
+ out.append(gr.HTML(value=f'<p style="{style}">{chosenmodel1}</p>', visible=True))
124
+ out.append(gr.HTML(value=f'<p style="{style}">Your vote: {chosenmodel2}</p>', visible=True))
125
  out.append(gr.update(visible=True))
126
  return out
127