shamimjony1000 commited on
Commit
1d44b76
·
verified ·
1 Parent(s): a667788

Update task_operations.py

Browse files
Files changed (1) hide show
  1. task_operations.py +15 -10
task_operations.py CHANGED
@@ -1,8 +1,7 @@
1
- import pandas as pd
2
  import os
 
3
  from datetime import datetime
4
  import streamlit as st
5
- import uuid # For generating unique task IDs
6
 
7
  class TaskManager:
8
  TASKS_FILE = "tasks.csv"
@@ -15,10 +14,14 @@ class TaskManager:
15
  def load_tasks(self):
16
  if os.path.exists(self.TASKS_FILE):
17
  if os.path.getsize(self.TASKS_FILE) > 0:
18
- return pd.read_csv(self.TASKS_FILE, parse_dates=['Task Time']).to_dict(orient='records')
 
 
 
19
  else:
20
  return []
21
  else:
 
22
  df = pd.DataFrame(columns=["Task ID", "Task Name", "Task Time", "Task Duration (hours)", "Task Duration (minutes)", "Category"])
23
  df.to_csv(self.TASKS_FILE, index=False)
24
  return []
@@ -29,9 +32,9 @@ class TaskManager:
29
 
30
  def add_task(self, task_name, task_time, task_duration_hours, task_duration_minutes, task_category):
31
  task_time_full = datetime.combine(datetime.today(), task_time)
32
- task_id = str(uuid.uuid4()) # Generate a unique ID
33
  task_entry = {
34
- "Task ID": task_id, # Add Task ID
35
  "Task Name": task_name,
36
  "Task Time": task_time_full,
37
  "Task Duration (hours)": int(task_duration_hours),
@@ -41,13 +44,15 @@ class TaskManager:
41
  st.session_state.tasks.append(task_entry)
42
  self.save_tasks(st.session_state.tasks)
43
 
44
- def delete_task_by_id(self, task_id): # Modified method to delete by Task ID
 
45
  for index, task in enumerate(st.session_state.tasks):
46
- if task['Task ID'] == task_id: # Match by Task ID
47
  st.session_state.tasks.pop(index)
48
- self.save_tasks(st.session_state.tasks)
49
- return True
50
- return False
 
51
 
52
  def generate_report(self, timeframe):
53
  df = pd.DataFrame(st.session_state.tasks)
 
 
1
  import os
2
+ import pandas as pd
3
  from datetime import datetime
4
  import streamlit as st
 
5
 
6
  class TaskManager:
7
  TASKS_FILE = "tasks.csv"
 
14
  def load_tasks(self):
15
  if os.path.exists(self.TASKS_FILE):
16
  if os.path.getsize(self.TASKS_FILE) > 0:
17
+ try:
18
+ return pd.read_csv(self.TASKS_FILE, parse_dates=['Task Time']).to_dict(orient='records')
19
+ except pd.errors.EmptyDataError:
20
+ return [] # Return an empty list if CSV is empty
21
  else:
22
  return []
23
  else:
24
+ # If the file doesn't exist, create it with the correct columns
25
  df = pd.DataFrame(columns=["Task ID", "Task Name", "Task Time", "Task Duration (hours)", "Task Duration (minutes)", "Category"])
26
  df.to_csv(self.TASKS_FILE, index=False)
27
  return []
 
32
 
33
  def add_task(self, task_name, task_time, task_duration_hours, task_duration_minutes, task_category):
34
  task_time_full = datetime.combine(datetime.today(), task_time)
35
+ task_id = len(st.session_state.tasks) + 1 # Generate a unique task ID
36
  task_entry = {
37
+ "Task ID": task_id,
38
  "Task Name": task_name,
39
  "Task Time": task_time_full,
40
  "Task Duration (hours)": int(task_duration_hours),
 
44
  st.session_state.tasks.append(task_entry)
45
  self.save_tasks(st.session_state.tasks)
46
 
47
+ def delete_task_by_id(self, task_id):
48
+ task_found = False
49
  for index, task in enumerate(st.session_state.tasks):
50
+ if task['Task ID'] == int(task_id):
51
  st.session_state.tasks.pop(index)
52
+ task_found = True
53
+ break
54
+ self.save_tasks(st.session_state.tasks)
55
+ return task_found
56
 
57
  def generate_report(self, timeframe):
58
  df = pd.DataFrame(st.session_state.tasks)