CihanYakar commited on
Commit
7923ff2
·
1 Parent(s): ed5614d
Files changed (1) hide show
  1. app/main.py +63 -37
app/main.py CHANGED
@@ -28,37 +28,9 @@ if not CLAUDE_API_KEY:
28
  raise Exception("CLAUDE_API_KEY environment variable is not set")
29
 
30
 
31
- def get_current_date_and_season() -> tuple:
32
- """Günün tarihini ve mevsimini döndürür"""
33
- from datetime import datetime
34
- import pytz
35
-
36
- # Türkiye saat dilimini ayarla
37
- tz = pytz.timezone('Europe/Istanbul')
38
- current_date = datetime.now(tz)
39
-
40
- # Türkçe ay isimleri
41
- months = {
42
- 1: "Ocak", 2: "Şubat", 3: "Mart", 4: "Nisan",
43
- 5: "Mayıs", 6: "Haziran", 7: "Temmuz", 8: "Ağustos",
44
- 9: "Eylül", 10: "Ekim", 11: "Kasım", 12: "Aralık"
45
- }
46
-
47
- # Mevsimi belirle
48
- month = current_date.month
49
- if month in [12, 1, 2]:
50
- season = "Kış"
51
- elif month in [3, 4, 5]:
52
- season = "İlkbahar"
53
- elif month in [6, 7, 8]:
54
- season = "Yaz"
55
- else:
56
- season = "Sonbahar"
57
-
58
- # Tarih stringini formatla
59
- date_str = f"{current_date.day} {months[current_date.month]} {current_date.year}"
60
-
61
- return date_str, season
62
 
63
 
64
  def load_cache() -> Dict:
@@ -90,6 +62,31 @@ async def generate_menu() -> Dict:
90
  try:
91
  API_URL = "https://api.anthropic.com/v1/messages"
92
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  headers = {
94
  "Content-Type": "application/json",
95
  "anthropic-version": "2023-06-01",
@@ -101,12 +98,41 @@ async def generate_menu() -> Dict:
101
  "max_tokens": 1024,
102
  "messages": [{
103
  "role": "user",
104
- "content": """Türk mutfağına uygun günlük bir menü oluştur. Şu şekilde olmalı:
105
- - Kahvaltı: Tipik bir Türk kahvaltısı
106
- - Öğle: Ana yemek ve yanında
107
- - Akşam: Ana yemek ve yanında
108
-
109
- Lütfen mevsime uygun ve sağlıklı seçimler yap. Sadece menüyü liste olarak ver ve menüyü Türkçe hazırla."""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  }]
111
  }
112
 
 
28
  raise Exception("CLAUDE_API_KEY environment variable is not set")
29
 
30
 
31
+ def get_current_date() -> str:
32
+ """Günün tarihini YYYY-MM-DD formatında döndürür"""
33
+ return datetime.now().strftime("%Y-%m-%d")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
 
36
  def load_cache() -> Dict:
 
62
  try:
63
  API_URL = "https://api.anthropic.com/v1/messages"
64
 
65
+ # Türkiye saatine göre tarih ve mevsim bilgisini al
66
+ tz = pytz.timezone('Europe/Istanbul')
67
+ current_date = datetime.now(tz)
68
+
69
+ # Türkçe ay isimleri
70
+ months = {
71
+ 1: "Ocak", 2: "Şubat", 3: "Mart", 4: "Nisan",
72
+ 5: "Mayıs", 6: "Haziran", 7: "Temmuz", 8: "Ağustos",
73
+ 9: "Eylül", 10: "Ekim", 11: "Kasım", 12: "Aralık"
74
+ }
75
+
76
+ # Mevsimi belirle
77
+ month = current_date.month
78
+ if month in [12, 1, 2]:
79
+ season = "Kış"
80
+ elif month in [3, 4, 5]:
81
+ season = "İlkbahar"
82
+ elif month in [6, 7, 8]:
83
+ season = "Yaz"
84
+ else:
85
+ season = "Sonbahar"
86
+
87
+ # Tarih stringini formatla
88
+ date_str = f"{current_date.day} {months[current_date.month]} {current_date.year}"
89
+
90
  headers = {
91
  "Content-Type": "application/json",
92
  "anthropic-version": "2023-06-01",
 
98
  "max_tokens": 1024,
99
  "messages": [{
100
  "role": "user",
101
+ "content": f"""Günlük türk yemeği menüsü yaz JSON formatında, 3 öğün olsun. Bugün {date_str} ({season} mevsimi), dolayısıyla mevsime dikkat et. Sadece JSON ı yaz.
102
+ Lütfen mevsime uygun ve sağlıklı seçimler yap. Sadece menüyü liste olarak ver ve menüyü Türkçe hazırla.
103
+ ÖRNEK:
104
+ {{
105
+ "günlük_menü": {{
106
+ "kahvaltı": {{
107
+ "yemekler": [
108
+ "Menemen",
109
+ "Beyaz Peynir",
110
+ "Zeytin",
111
+ "Domates",
112
+ "Taze Ekmek",
113
+ "Çay"
114
+ ]
115
+ }},
116
+ "öğle": {{
117
+ "yemekler": [
118
+ "Mercimek Çorbası",
119
+ "Tavuk Sote",
120
+ "Pilav",
121
+ "Mevsim Salatası",
122
+ "Ayran"
123
+ ]
124
+ }},
125
+ "akşam": {{
126
+ "yemekler": [
127
+ "Yayla Çorbası",
128
+ "Etli Kuru Fasulye",
129
+ "Bulgur Pilavı",
130
+ "Cacık",
131
+ "Baklava"
132
+ ]
133
+ }}
134
+ }}
135
+ }}"""
136
  }]
137
  }
138