HaLim commited on
Commit
363563b
·
1 Parent(s): f8a0929

add streamlit pages for date setting

Browse files
Files changed (1) hide show
  1. streamlit_page/page1.py +62 -0
streamlit_page/page1.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from datetime import datetime, timedelta
3
+ import sys
4
+ import os
5
+
6
+ # Add the parent directory to the path to import src modules
7
+ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
8
+ import src.etl.transform as transform
9
+
10
+ # Page title
11
+ st.title("Date Selection")
12
+
13
+ # Date selection section
14
+ st.header("Select Date Range")
15
+
16
+ # Get available date ranges from COOIS_Released_Prod_Orders.csv
17
+ try:
18
+ date_ranges = transform.get_date_ranges()
19
+ all_dates, start_dates, end_dates = transform.get_available_dates()
20
+
21
+ if date_ranges:
22
+ # Create dropdown for date range selection
23
+ date_range_options = [f"{start} to {end}" for start, end in date_ranges]
24
+ selected_range_str = st.selectbox(
25
+ "Select a date range from released orders:",
26
+ options=date_range_options,
27
+ help="Date ranges available in COOIS_Released_Prod_Orders.csv"
28
+ )
29
+
30
+ # Extract selected dates
31
+ selected_index = date_range_options.index(selected_range_str)
32
+ start_date, end_date = date_ranges[selected_index]
33
+
34
+ # Display the selected date range
35
+ st.write(f"**Start Date:** {start_date.strftime('%Y-%m-%d')}")
36
+ st.write(f"**End Date:** {end_date.strftime('%Y-%m-%d')}")
37
+
38
+ # Show the date range duration
39
+ duration = (end_date - start_date).days
40
+ st.info(f"Selected date range: {duration} days")
41
+
42
+
43
+
44
+ except Exception as e:
45
+ st.error(f"Error loading date data: {str(e)}")
46
+ # Fallback to default dates
47
+ start_date = datetime(2025, 3, 24).date()
48
+ end_date = datetime(2025, 3, 28).date()
49
+
50
+ # Product selection section
51
+
52
+
53
+ # You can add more functionality here based on the selected dates
54
+ if st.button("Confirm Selection"):
55
+ if 'selected_product' in locals():
56
+ st.success(f"Date range: {start_date} to {end_date}")
57
+ st.success(f"Selected product: {selected_product}")
58
+ if 'selected_products' in locals() and selected_products:
59
+ st.success(f"Multiple products selected: {', '.join(selected_products)}")
60
+ else:
61
+ st.success(f"Date range confirmed: {start_date} to {end_date}")
62
+ # Add your logic here for what happens when selection is confirmed