KaiquanMah commited on
Commit
22be156
·
verified ·
1 Parent(s): ac964b9

Update calendar.py

Browse files
Files changed (1) hide show
  1. calendar.py +31 -4
calendar.py CHANGED
@@ -7,6 +7,7 @@ class Calendar:
7
  self.reminders = self.load_calendar()
8
  self.current_date = datetime.date.today()
9
 
 
10
  def load_calendar(self):
11
  """Load reminders from a file."""
12
  try:
@@ -15,11 +16,13 @@ class Calendar:
15
  except (FileNotFoundError, json.JSONDecodeError):
16
  return {}
17
 
 
18
  def save_calendar(self):
19
  """Save reminders to a file."""
20
  with open(self.filename, "w") as file:
21
  json.dump(self.reminders, file, indent=4)
22
 
 
23
  def add_reminder(self, date, reminder):
24
  """Add a reminder for a specific date."""
25
  if date not in self.reminders:
@@ -28,13 +31,31 @@ class Calendar:
28
  self.save_calendar()
29
  print(f"Reminder added for {date}: {reminder}")
30
 
 
31
  def show_all_reminders(self):
32
  """Show all past and future reminders in our calendar app"""
33
  if self.reminders is None:
34
- print("No reminders in calendar app. Please create a reminder to start using the app.")
 
 
 
 
 
 
 
 
 
 
35
  else:
36
- for i,(k,v) in enumerate(self.reminders):
37
- print(f"{i}. {k} {v}")
 
 
 
 
 
 
 
38
 
39
  def show_reminders(self, date):
40
  """Show reminders for a specific date."""
@@ -45,14 +66,18 @@ class Calendar:
45
  else:
46
  print(f"No reminders for {date}.")
47
 
 
48
  def browse_calendar(self, days):
49
  """Move forward or backward in the calendar by a given number of days."""
50
  self.current_date += datetime.timedelta(days=days)
51
  print(f"Current date: {self.current_date}")
52
  self.show_reminders(str(self.current_date))
53
 
 
 
54
  if __name__ == "__main__":
55
  calendar = Calendar()
 
56
  while True:
57
  print("\nCalendar Menu:")
58
  print("1. Add Reminder")
@@ -65,10 +90,12 @@ if __name__ == "__main__":
65
 
66
  if choice == "1":
67
  date = input("Enter date (YYYY-MM-DD): ")
68
- reminder = input("Enter reminder for event name: ")
69
  calendar.add_reminder(date, reminder)
70
  elif choice == "2":
71
  calendar.show_all_reminders()
 
 
72
  elif choice == "4":
73
  date = input("Enter date (YYYY-MM-DD): ")
74
  calendar.show_reminders(date)
 
7
  self.reminders = self.load_calendar()
8
  self.current_date = datetime.date.today()
9
 
10
+
11
  def load_calendar(self):
12
  """Load reminders from a file."""
13
  try:
 
16
  except (FileNotFoundError, json.JSONDecodeError):
17
  return {}
18
 
19
+
20
  def save_calendar(self):
21
  """Save reminders to a file."""
22
  with open(self.filename, "w") as file:
23
  json.dump(self.reminders, file, indent=4)
24
 
25
+
26
  def add_reminder(self, date, reminder):
27
  """Add a reminder for a specific date."""
28
  if date not in self.reminders:
 
31
  self.save_calendar()
32
  print(f"Reminder added for {date}: {reminder}")
33
 
34
+
35
  def show_all_reminders(self):
36
  """Show all past and future reminders in our calendar app"""
37
  if self.reminders is None:
38
+ print("No reminders in calendar app. Please create an event reminder to start using the app.")
39
+ else:
40
+ print("# Date Event Description")
41
+ for i,(dt,event_description) in enumerate(self.reminders.items()):
42
+ print(f"{i+1}. {dt} {event_description}")
43
+
44
+
45
+ def show_future_reminders(self):
46
+ """Show all future reminders in our calendar app"""
47
+ if self.reminders is None:
48
+ print("No future reminders in calendar app. Please create a future event reminder.")
49
  else:
50
+ current_datetime = datetime.now()
51
+
52
+ print("# Date Event Description")
53
+ for i,(dt,event_description) in enumerate(self.reminders.items()):
54
+ dt = datetime.datetime.strptime(dt, 'YYYY-MM-DD')
55
+
56
+ if current_datetime.date <= dt.date
57
+ print(f"{i+1}. {dt} {event_description}")
58
+
59
 
60
  def show_reminders(self, date):
61
  """Show reminders for a specific date."""
 
66
  else:
67
  print(f"No reminders for {date}.")
68
 
69
+
70
  def browse_calendar(self, days):
71
  """Move forward or backward in the calendar by a given number of days."""
72
  self.current_date += datetime.timedelta(days=days)
73
  print(f"Current date: {self.current_date}")
74
  self.show_reminders(str(self.current_date))
75
 
76
+
77
+
78
  if __name__ == "__main__":
79
  calendar = Calendar()
80
+
81
  while True:
82
  print("\nCalendar Menu:")
83
  print("1. Add Reminder")
 
90
 
91
  if choice == "1":
92
  date = input("Enter date (YYYY-MM-DD): ")
93
+ reminder = input("Enter description for event reminder: ")
94
  calendar.add_reminder(date, reminder)
95
  elif choice == "2":
96
  calendar.show_all_reminders()
97
+ elif choice == "3":
98
+ calendar.show_all_reminders()
99
  elif choice == "4":
100
  date = input("Enter date (YYYY-MM-DD): ")
101
  calendar.show_reminders(date)