Update app.py
Browse files
app.py
CHANGED
|
@@ -473,7 +473,7 @@ class Application:
|
|
| 473 |
name = self.name(stats.names, params.get("name"))
|
| 474 |
|
| 475 |
# Limit player-year comparisons using this window
|
| 476 |
-
window = self.window(
|
| 477 |
|
| 478 |
# Player metrics
|
| 479 |
active, best, metrics = stats.metrics(name)
|
|
@@ -491,9 +491,11 @@ class Application:
|
|
| 491 |
# Display results
|
| 492 |
self.table(results, ["link", "nameFirst", "nameLast", "teamID"] + stats.columns[1:])
|
| 493 |
|
| 494 |
-
# Save parameters
|
| 495 |
-
|
| 496 |
-
|
|
|
|
|
|
|
| 497 |
|
| 498 |
def search(self):
|
| 499 |
"""
|
|
@@ -532,17 +534,16 @@ class Application:
|
|
| 532 |
parameters
|
| 533 |
"""
|
| 534 |
|
| 535 |
-
# Get parameters
|
| 536 |
params = {x: st.query_params.get(x) for x in ["category", "name", "window", "year"]}
|
| 537 |
|
| 538 |
# Sync parameters with session state
|
| 539 |
-
if all(x in st.session_state for x in ["category", "name", "
|
| 540 |
# Copy session year if category and name are unchanged
|
| 541 |
params["year"] = str(st.session_state["year"]) if all(params.get(x) == st.session_state[x] for x in ["category", "name"]) else None
|
| 542 |
|
| 543 |
# Copy category and name from session state
|
| 544 |
params["category"] = st.session_state["category"]
|
| 545 |
-
params["window"] = st.session_state["window"]
|
| 546 |
params["name"] = st.session_state["name"]
|
| 547 |
|
| 548 |
return params
|
|
@@ -580,6 +581,10 @@ class Application:
|
|
| 580 |
window component
|
| 581 |
"""
|
| 582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
return st.number_input("Limit to last N seasons", value=window, step=1, min_value=1, max_value=100, key=key)
|
| 584 |
|
| 585 |
def name(self, names, name):
|
|
|
|
| 473 |
name = self.name(stats.names, params.get("name"))
|
| 474 |
|
| 475 |
# Limit player-year comparisons using this window
|
| 476 |
+
window = self.window(params.get("window"), "window")
|
| 477 |
|
| 478 |
# Player metrics
|
| 479 |
active, best, metrics = stats.metrics(name)
|
|
|
|
| 491 |
# Display results
|
| 492 |
self.table(results, ["link", "nameFirst", "nameLast", "teamID"] + stats.columns[1:])
|
| 493 |
|
| 494 |
+
# Save query parameters
|
| 495 |
+
st.query_params.clear()
|
| 496 |
+
for key, value in [("category", category), ("name", name), ("window", window), ("year", year)]:
|
| 497 |
+
if value:
|
| 498 |
+
st.query_params[key] = value
|
| 499 |
|
| 500 |
def search(self):
|
| 501 |
"""
|
|
|
|
| 534 |
parameters
|
| 535 |
"""
|
| 536 |
|
| 537 |
+
# Get query parameters
|
| 538 |
params = {x: st.query_params.get(x) for x in ["category", "name", "window", "year"]}
|
| 539 |
|
| 540 |
# Sync parameters with session state
|
| 541 |
+
if all(x in st.session_state for x in ["category", "name", "year"]):
|
| 542 |
# Copy session year if category and name are unchanged
|
| 543 |
params["year"] = str(st.session_state["year"]) if all(params.get(x) == st.session_state[x] for x in ["category", "name"]) else None
|
| 544 |
|
| 545 |
# Copy category and name from session state
|
| 546 |
params["category"] = st.session_state["category"]
|
|
|
|
| 547 |
params["name"] = st.session_state["name"]
|
| 548 |
|
| 549 |
return params
|
|
|
|
| 581 |
window component
|
| 582 |
"""
|
| 583 |
|
| 584 |
+
# Convert to int if necessary
|
| 585 |
+
window = int(window) if window else window
|
| 586 |
+
|
| 587 |
+
# Return window value
|
| 588 |
return st.number_input("Limit to last N seasons", value=window, step=1, min_value=1, max_value=100, key=key)
|
| 589 |
|
| 590 |
def name(self, names, name):
|