davidmezzetti commited on
Commit
2e143d0
·
verified ·
1 Parent(s): 1fb7ea3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -7
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(None, "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
- for name, value in [("category", category), ("name", name), ("year", year)]:
496
- st.query_params[name] = value
 
 
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", "window", "year"]):
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):