Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -29,34 +29,36 @@ def _load_best():
|
|
29 |
PAT = re.compile(r"^[a-z0-9]{6}\.vercel\.app$", re.I)
|
30 |
|
31 |
def fetch_all(limit=200):
|
32 |
-
"""
|
|
|
|
|
|
|
33 |
try:
|
34 |
params = {"limit": limit}
|
35 |
if TEAM:
|
36 |
params["teamId"] = TEAM
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
|
42 |
games = []
|
43 |
-
for d in
|
44 |
if d.get("state") != "READY":
|
45 |
continue
|
46 |
|
47 |
-
# โโ
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
continue # 6๊ธ์ ๋๋ฉ์ธ ์์ผ๋ฉด ๊ฑด๋๋
|
55 |
|
56 |
games.append({
|
57 |
"title": d.get("name", "(์ ๋ชฉ ์์)"),
|
58 |
-
"url"
|
59 |
-
"ts"
|
60 |
})
|
61 |
|
62 |
return sorted(games, key=lambda x: x["ts"], reverse=True)
|
|
|
29 |
PAT = re.compile(r"^[a-z0-9]{6}\.vercel\.app$", re.I)
|
30 |
|
31 |
def fetch_all(limit=200):
|
32 |
+
"""
|
33 |
+
READY ๋ฐฐํฌ ์ค 'tmkdop.vercel.app' ์ฒ๋ผ 6๊ธ์ ๋๋ฉ์ธ์ด ๋ฌ๋ฆฐ ๊ฒ๋ง ์์ง
|
34 |
+
ยท url ํ๋์ alias ๋ฐฐ์ด์ ๋ชจ๋ ๊ฒ์
|
35 |
+
"""
|
36 |
try:
|
37 |
params = {"limit": limit}
|
38 |
if TEAM:
|
39 |
params["teamId"] = TEAM
|
40 |
|
41 |
+
resp = requests.get(f"{API}/v6/deployments",
|
42 |
+
headers=HEAD, params=params, timeout=30)
|
43 |
+
resp.raise_for_status()
|
44 |
|
45 |
games = []
|
46 |
+
for d in resp.json().get("deployments", []):
|
47 |
if d.get("state") != "READY":
|
48 |
continue
|
49 |
|
50 |
+
# โโ url + alias ๋ฐฐ์ด ํตํฉ ๊ฒ์ฌ
|
51 |
+
candidates = [d.get("url", "")]
|
52 |
+
candidates.extend(d.get("alias", []))
|
53 |
+
|
54 |
+
six = next((dom for dom in candidates if PAT.match(dom)), None)
|
55 |
+
if not six:
|
56 |
+
continue
|
|
|
57 |
|
58 |
games.append({
|
59 |
"title": d.get("name", "(์ ๋ชฉ ์์)"),
|
60 |
+
"url": f"https://{six}",
|
61 |
+
"ts": int(d.get("created", time.time() * 1000) / 1000)
|
62 |
})
|
63 |
|
64 |
return sorted(games, key=lambda x: x["ts"], reverse=True)
|