Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -21,34 +21,4 @@ num_activities = st.number_input("Number of Activities (5-20):", min_value=5, ma
|
|
| 21 |
|
| 22 |
activities = []
|
| 23 |
for i in range(num_activities):
|
| 24 |
-
col1, col2 = st.columns(2)
|
| 25 |
-
with col1:
|
| 26 |
-
activity_name = st.text_input(f"Activity {i+1} Name:", key=f"name_{i}")
|
| 27 |
-
with col2:
|
| 28 |
-
activity_duration = st.number_input(f"Activity {i+1} Duration (weeks):", min_value=1, key=f"duration_{i}")
|
| 29 |
-
activities.append({"Task": activity_name, "Duration": activity_duration})
|
| 30 |
-
|
| 31 |
-
if st.button("Create Gantt Chart"):
|
| 32 |
-
if not project_name:
|
| 33 |
-
st.error("Please enter a project name.")
|
| 34 |
-
elif any(not activity["Task"] for activity in activities):
|
| 35 |
-
st.error("Please enter names for all activities.")
|
| 36 |
-
else:
|
| 37 |
-
df = pd.DataFrame(activities)
|
| 38 |
-
df['Start'] = pd.to_datetime(start_date)
|
| 39 |
-
df['Finish'] = df['Start']
|
| 40 |
-
for i in range(len(df)):
|
| 41 |
-
if i > 0:
|
| 42 |
-
df.loc[i, 'Start'] = df.loc[i-1, 'Finish']
|
| 43 |
-
df.loc[i, 'Finish'] = df.loc[i, 'Start'] + pd.to_timedelta(df.loc[i, 'Duration'] * 7, unit='D')
|
| 44 |
-
|
| 45 |
-
df['Start_str'] = df['Start'].dt.strftime('%Y-%m-%d')
|
| 46 |
-
df['Finish_str'] = df['Finish'].dt.strftime('%Y-%m-%d')
|
| 47 |
-
df['Start_week'] = df['Start'].dt.to_period('W-SUN').dt.start_time.dt.strftime('%Y-%m-%d')
|
| 48 |
-
df['Finish_week'] = df['Finish'].dt.to_period('W-SUN').dt.end_time.dt.strftime('%Y-%m-%d')
|
| 49 |
-
|
| 50 |
-
project_end_date = df['Finish'].max().strftime('%Y-%m-%d') # Calculate project end date
|
| 51 |
-
st.write(f"Project End Date: {project_end_date}") # Display project end date
|
| 52 |
-
|
| 53 |
-
data = []
|
| 54 |
-
for index, row in
|
|
|
|
| 21 |
|
| 22 |
activities = []
|
| 23 |
for i in range(num_activities):
|
| 24 |
+
col1, col2 = st.columns(2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|