KaiquanMah commited on
Commit
c46051b
·
verified ·
1 Parent(s): 1d9d88b

Update calendar_app.py

Browse files
Files changed (1) hide show
  1. calendar_app.py +51 -19
calendar_app.py CHANGED
@@ -31,6 +31,16 @@ class Calendar:
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"""
@@ -69,11 +79,20 @@ class Calendar:
69
  print(f"No reminders for {date}.")
70
 
71
 
72
- def browse_calendar(self, days):
73
- """Move forward or backward in the calendar by a given number of days."""
74
- self.current_date += datetime.timedelta(days=days)
75
- print(f"Current date: {self.current_date}")
76
- self.show_reminders(str(self.current_date))
 
 
 
 
 
 
 
 
 
77
 
78
 
79
 
@@ -82,29 +101,42 @@ if __name__ == "__main__":
82
 
83
  while True:
84
  print("\nCalendar Menu:")
85
- print("1. Add Reminder")
86
- print("2. Show All Past and Future Reminders")
87
- print("3. Show All Future Reminders")
88
- print("4. Show Reminders for Specific Day")
89
- print("5. Browse Calendar")
90
- print("6. Exit")
91
- choice = input("Choose an option: ")
92
-
 
 
93
  if choice == "1":
94
  date = input("Enter date (YYYY-MM-DD): ")
95
  reminder = input("Enter description for event reminder: ")
96
  calendar.add_reminder(date, reminder)
97
- elif choice == "2":
98
- calendar.show_all_reminders()
 
 
 
 
 
99
  elif choice == "3":
100
- calendar.show_future_reminders()
101
  elif choice == "4":
 
 
 
 
102
  date = input("Enter date (YYYY-MM-DD): ")
103
  calendar.show_reminders(date)
104
- elif choice == "5":
105
- days = int(input("Enter number of days to move (positive for forward, negative for backward): "))
106
- calendar.browse_calendar(days)
107
  elif choice == "6":
 
 
 
 
 
108
  calendar.save_calendar()
109
  break
110
  else:
 
31
  self.save_calendar()
32
  print(f"Reminder added for {date}: {reminder}")
33
 
34
+ def add_daterange(date_start, date_end, reminder):
35
+ """Add a reminder for a date range."""
36
+ for date in range(date_start, date_end+1):
37
+ if date not in self.reminders:
38
+ self.reminders[date] = []
39
+ self.reminders[date].append(reminder)
40
+ self.save_calendar()
41
+ print(f"Reminder added from {date_start} to {date_end} (inclusive of start and end dates): {reminder}")
42
+
43
+
44
 
45
  def show_all_reminders(self):
46
  """Show all past and future reminders in our calendar app"""
 
79
  print(f"No reminders for {date}.")
80
 
81
 
82
+ def show_month(self, user_mth):
83
+ """Show reminders for a specific month."""
84
+ if (self.reminders is None) or len(self.reminders)<1:
85
+ print(f"No reminders for month: {user_month}.")
86
+ else:
87
+ print("# Date Event Description")
88
+ print_counter=1
89
+ for i,(dt,event_description) in enumerate(self.reminders.items()):
90
+ dt = datetime.datetime.strptime(dt, '%Y-%m-%d')
91
+ dt_month = dt.month()
92
+ if user_mth == dt_month:
93
+ print(f"{print_counter}. {dt} {event_description}")
94
+ print_counter+=1
95
+
96
 
97
 
98
 
 
101
 
102
  while True:
103
  print("\nCalendar Menu:")
104
+ print("1. Add Reminder for 1 day")
105
+ print("2. Add Reminder for date range (including weekends)")
106
+ print("3. Show All Past and Future Reminders")
107
+ print("4. Show All Future Reminders")
108
+ print("5. Show Reminders for Specific Day")
109
+ print("6. Show Reminders for Specific Month")
110
+ print("7. Exit")
111
+ choice = input("Choose an option number: ")
112
+
113
+ # user create event reminder
114
  if choice == "1":
115
  date = input("Enter date (YYYY-MM-DD): ")
116
  reminder = input("Enter description for event reminder: ")
117
  calendar.add_reminder(date, reminder)
118
+ if choice == "2":
119
+ date_start = input("Enter start date (YYYY-MM-DD): ")
120
+ date_end = input("Enter end date (YYYY-MM-DD): ")
121
+ reminder = input("Enter description for event reminder: ")
122
+ calendar.add_daterange(date_start, date_end, reminder)
123
+
124
+ # list ALL or future reminders
125
  elif choice == "3":
126
+ calendar.show_all_reminders()
127
  elif choice == "4":
128
+ calendar.show_future_reminders()
129
+
130
+ # list reminders for specific date or month
131
+ elif choice == "5":
132
  date = input("Enter date (YYYY-MM-DD): ")
133
  calendar.show_reminders(date)
 
 
 
134
  elif choice == "6":
135
+ user_mth = int(input("Enter month number (MM)): "))
136
+ calendar.show_month(user_mth)
137
+
138
+
139
+ elif choice == "7":
140
  calendar.save_calendar()
141
  break
142
  else: