SeaWolf-AI commited on
Commit
70561cd
ยท
verified ยท
1 Parent(s): e62ec67

rank: separate MP and novel tracks

Browse files
Files changed (1) hide show
  1. app.py +13 -0
app.py CHANGED
@@ -91,6 +91,7 @@ _SAFE_KEYS = (
91
  "submitted_at", "season", "scored_at", "status", "gate", "hold_kind",
92
  "axes", "detail", "notes", "note", "total", "total_max", "held_axes",
93
  "known_in_mp", "is_anchor", "tier", "rank", "div_rank", "division",
 
94
  )
95
 
96
  # ๊ณต๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ œ์ถœ์—๋งŒ ํ•จ๊ป˜ ๋‚ด๋ณด๋‚ธ๋‹ค. ๋น„๊ณต๊ฐœ๋ฉด ์ด ๋ชฉ๋ก์€ ํ†ต์งธ๋กœ ๋น ์ง„๋‹ค.
@@ -377,6 +378,7 @@ def _leaderboard_body(season):
377
  e.get("submitted_at") or 0))
378
  n = 0
379
  div_n = {}
 
380
  for e in merged:
381
  # ์ฐธ๊ฐ€ ์ œ์ถœ์€ mask() ๊ฐ€ ์กฐ์„ฑ์—์„œ ๊ตฌ์—ญ์„ ๋ฝ‘์•„ ๋„ฃ์–ด ๋‘์—ˆ๋‹ค. ๊ธฐ์ค€๋ฌผ์งˆ์€ mask ๋ฅผ
382
  # ๊ฑฐ์น˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ ์ฑ„์šด๋‹ค - ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ฎ์œผ๋ฉด ์ „๋ถ€ other ๊ฐ€ ๋œ๋‹ค.
@@ -388,6 +390,8 @@ def _leaderboard_body(season):
388
  if e.get("is_anchor") or e.get("tier", 1) != 1 or unscored:
389
  e["rank"] = None # ๊ธฐ์ค€๋ฌผ์งˆ์€ ์ฒ™๋„๋ฅผ ํ‘œ์‹œํ•  ๋ฟ ๋“ฑ์ˆ˜๋ฅผ ๊ฐ–์ง€ ์•Š๋Š”๋‹ค
390
  e["div_rank"] = None
 
 
391
  else:
392
  n += 1
393
  e["rank"] = n
@@ -395,6 +399,15 @@ def _leaderboard_body(season):
395
  d = e["division"]
396
  div_n[d] = div_n.get(d, 0) + 1
397
  e["div_rank"] = div_n[d]
 
 
 
 
 
 
 
 
 
398
  tally = {}
399
  for e in merged:
400
  if e.get("is_anchor"):
 
91
  "submitted_at", "season", "scored_at", "status", "gate", "hold_kind",
92
  "axes", "detail", "notes", "note", "total", "total_max", "held_axes",
93
  "known_in_mp", "is_anchor", "tier", "rank", "div_rank", "division",
94
+ "track", "track_rank",
95
  )
96
 
97
  # ๊ณต๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ œ์ถœ์—๋งŒ ํ•จ๊ป˜ ๋‚ด๋ณด๋‚ธ๋‹ค. ๋น„๊ณต๊ฐœ๋ฉด ์ด ๋ชฉ๋ก์€ ํ†ต์งธ๋กœ ๋น ์ง„๋‹ค.
 
378
  e.get("submitted_at") or 0))
379
  n = 0
380
  div_n = {}
381
+ trk_n = {}
382
  for e in merged:
383
  # ์ฐธ๊ฐ€ ์ œ์ถœ์€ mask() ๊ฐ€ ์กฐ์„ฑ์—์„œ ๊ตฌ์—ญ์„ ๋ฝ‘์•„ ๋„ฃ์–ด ๋‘์—ˆ๋‹ค. ๊ธฐ์ค€๋ฌผ์งˆ์€ mask ๋ฅผ
384
  # ๊ฑฐ์น˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ ์ฑ„์šด๋‹ค - ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ฎ์œผ๋ฉด ์ „๋ถ€ other ๊ฐ€ ๋œ๋‹ค.
 
390
  if e.get("is_anchor") or e.get("tier", 1) != 1 or unscored:
391
  e["rank"] = None # ๊ธฐ์ค€๋ฌผ์งˆ์€ ์ฒ™๋„๋ฅผ ํ‘œ์‹œํ•  ๋ฟ ๋“ฑ์ˆ˜๋ฅผ ๊ฐ–์ง€ ์•Š๋Š”๋‹ค
392
  e["div_rank"] = None
393
+ e["track"] = None if e.get("is_anchor") else ("mp" if e.get("known_in_mp") else "novel")
394
+ e["track_rank"] = None
395
  else:
396
  n += 1
397
  e["rank"] = n
 
399
  d = e["division"]
400
  div_n[d] = div_n.get(d, 0) + 1
401
  e["div_rank"] = div_n[d]
402
+ # **ํŠธ๋ž™ ์ˆœ์œ„.** ๊ฐ™์€ ์กฐ์„ฑ์„ ๋‘ ๊ฒฝ๋กœ๋กœ ์ฑ„์ ํ•ด ์žฌ๋ณด๋‹ˆ ์‹ ๊ทœ ์กฐ์„ฑ ์ชฝ์ด
403
+ # ๊ณ„ํ†ต์ ์œผ๋กœ ์†ํ•ด์˜€๋‹ค(32๊ฑด ์ค‘ 28๊ฑด, ํ‰๊ท  1~2์ , ์ตœ๋Œ€ 3.5์ ). MP ์— ๊ฐ’์ด
404
+ # ์žˆ์œผ๋ฉด ๊ทธ ๊ฐ’์„ ์“ฐ๊ณ  ์—†์œผ๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ, ๋‘ ์ž์˜ ๋ˆˆ๊ธˆ์ด ๋‹ค๋ฅด๋‹ค.
405
+ # ๋ˆˆ๊ธˆ์ด ๋‹ค๋ฅธ ๊ฒƒ์„ ํ•œ ์ค„๋กœ ์„ธ์šฐ๋ฉด "์ƒˆ๋กœ์šด ์กฐ์„ฑ์ผ์ˆ˜๋ก ๋ถˆ๋ฆฌํ•œ" ์ˆœ์œ„ํ‘œ๊ฐ€ ๋œ๋‹ค -
406
+ # ์‹ ๊ทœ์„ฑ์— ๋ฐฐ์ ์„ ๊ฑธ์–ด ๋†“๊ณ  ๊ทธ๋Ÿฌ๋ฉด ๊ทธ ๋ฐฐ์ ์ด ๊ฑฐ์ง“๋ง์ด ๋œ๋‹ค.
407
+ tr = "mp" if e.get("known_in_mp") else "novel"
408
+ e["track"] = tr
409
+ trk_n[tr] = trk_n.get(tr, 0) + 1
410
+ e["track_rank"] = trk_n[tr]
411
  tally = {}
412
  for e in merged:
413
  if e.get("is_anchor"):