KaiquanMah commited on
Commit
6f5408b
·
verified ·
1 Parent(s): 1c3ff61

Create calendar.py

Browse files
Files changed (1) hide show
  1. calendar.py +69 -0
calendar.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import datetime
3
+
4
+ class Calendar:
5
+ def __init__(self, filename="calendar_data.json"):
6
+ self.filename = filename
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:
13
+ with open(self.filename, "r") as file:
14
+ return json.load(file)
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:
26
+ self.reminders[date] = []
27
+ self.reminders[date].append(reminder)
28
+ self.save_calendar()
29
+ print(f"Reminder added for {date}: {reminder}")
30
+
31
+ def show_reminders(self, date):
32
+ """Show reminders for a specific date."""
33
+ if date in self.reminders:
34
+ print(f"Reminders for {date}:")
35
+ for i, reminder in enumerate(self.reminders[date], 1):
36
+ print(f"{i}. {reminder}")
37
+ else:
38
+ print(f"No reminders for {date}.")
39
+
40
+ def browse_calendar(self, days):
41
+ """Move forward or backward in the calendar by a given number of days."""
42
+ self.current_date += datetime.timedelta(days=days)
43
+ print(f"Current date: {self.current_date}")
44
+ self.show_reminders(str(self.current_date))
45
+
46
+ if __name__ == "__main__":
47
+ calendar = Calendar()
48
+ while True:
49
+ print("\nCalendar Menu:")
50
+ print("1. Add Reminder")
51
+ print("2. Show Reminders")
52
+ print("3. Browse Calendar")
53
+ print("4. Exit")
54
+ choice = input("Choose an option: ")
55
+
56
+ if choice == "1":
57
+ date = input("Enter date (YYYY-MM-DD): ")
58
+ reminder = input("Enter reminder: ")
59
+ calendar.add_reminder(date, reminder)
60
+ elif choice == "2":
61
+ date = input("Enter date (YYYY-MM-DD): ")
62
+ calendar.show_reminders(date)
63
+ elif choice == "3":
64
+ days = int(input("Enter number of days to move (positive for forward, negative for backward): "))
65
+ calendar.browse_calendar(days)
66
+ elif choice == "4":
67
+ break
68
+ else:
69
+ print("Invalid option. Please try again.")