Update calendar.py
Browse files- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
else:
|
| 36 |
-
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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
|
| 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)
|