KJ commited on
Commit
d6e0895
·
1 Parent(s): 29f2775

updating timestaps

Browse files
Files changed (1) hide show
  1. app.py +21 -9
app.py CHANGED
@@ -49,15 +49,25 @@ if not server.is_active:
49
  MYSQL_URL = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{LOCAL_BIND_HOST}:{MYSQL_PORT}/{MYSQL_DB}"
50
  engine = create_engine(MYSQL_URL, pool_pre_ping=True, pool_recycle=3600)
51
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  # --- Time range selection ---
53
  st.sidebar.header("Filter by Time Frame")
54
- start_date = st.sidebar.date_input("Start Date", datetime.now() - timedelta(days=1))
55
- end_date = st.sidebar.date_input("End Date", datetime.now())
56
- start_time = st.sidebar.time_input("Start Time", datetime.min.time())
57
- end_time = st.sidebar.time_input("End Time", datetime.max.time())
58
-
59
- from_datetime = datetime.combine(start_date, start_time)
60
- to_datetime = datetime.combine(end_date, end_time)
61
 
62
  # --- Load GPS Data ---
63
  def load_gps_data(from_ts, to_ts):
@@ -69,7 +79,9 @@ def load_gps_data(from_ts, to_ts):
69
  st.error(f"Error loading GPS data: {e}")
70
  return pd.DataFrame()
71
 
72
- gps_data = load_gps_data(from_datetime, to_datetime)
 
 
73
 
74
  # --- Display on Google Maps ---
75
  if not gps_data.empty:
@@ -173,4 +185,4 @@ if not gps_data.empty:
173
  </script>
174
  """, height=750)
175
  else:
176
- st.info("No GPS data available for selected time frame.")
 
49
  MYSQL_URL = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{LOCAL_BIND_HOST}:{MYSQL_PORT}/{MYSQL_DB}"
50
  engine = create_engine(MYSQL_URL, pool_pre_ping=True, pool_recycle=3600)
51
 
52
+ # --- Fetch timestamp range from DB ---
53
+ def get_timestamp_range():
54
+ try:
55
+ query = text("SELECT MIN(timestamp) as min_ts, MAX(timestamp) as max_ts FROM gps_points")
56
+ result = engine.execute(query).fetchone()
57
+ return result["min_ts"], result["max_ts"]
58
+ except Exception as e:
59
+ st.error(f"Error fetching timestamp range: {e}")
60
+ return None, None
61
+
62
+ min_ts, max_ts = get_timestamp_range()
63
+
64
  # --- Time range selection ---
65
  st.sidebar.header("Filter by Time Frame")
66
+ if min_ts and max_ts:
67
+ start_datetime = st.sidebar.datetime_input("Start", min_ts, min_value=min_ts, max_value=max_ts)
68
+ end_datetime = st.sidebar.datetime_input("End", max_ts, min_value=min_ts, max_value=max_ts)
69
+ else:
70
+ start_datetime = end_datetime = None
 
 
71
 
72
  # --- Load GPS Data ---
73
  def load_gps_data(from_ts, to_ts):
 
79
  st.error(f"Error loading GPS data: {e}")
80
  return pd.DataFrame()
81
 
82
+ gps_data = pd.DataFrame()
83
+ if start_datetime and end_datetime:
84
+ gps_data = load_gps_data(start_datetime, end_datetime)
85
 
86
  # --- Display on Google Maps ---
87
  if not gps_data.empty:
 
185
  </script>
186
  """, height=750)
187
  else:
188
+ st.info("No GPS data available for selected time frame.")