Update app.py
Browse files
app.py
CHANGED
@@ -557,17 +557,45 @@ WEBHOOK_URL = os.getenv("WEBHOOK_URL")
|
|
557 |
BLOGGER_ID = os.getenv("BLOGGER_ID")
|
558 |
|
559 |
PEXELS_API_KEY = "5woz23MGx1QrSY0WHFb0BRi29JvbXPu97Hg0xnklYgHUI8G0w23FKH62"
|
560 |
-
|
|
|
|
|
|
|
561 |
|
562 |
def get_image_url(topic):
|
563 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
564 |
try:
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
569 |
else:
|
570 |
-
logger.
|
571 |
return None
|
572 |
except Exception as e:
|
573 |
logger.error(f"์ด๋ฏธ์ง ๊ฒ์ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}")
|
@@ -587,7 +615,11 @@ def send_to_blogger(blog_title, blog_content):
|
|
587 |
|
588 |
payload["content"] = blog_content
|
589 |
|
|
|
|
|
590 |
response = requests.post(WEBHOOK_URL, json=payload)
|
|
|
|
|
591 |
if response.status_code == 200:
|
592 |
return "ํฌ์คํ
์ด ์ฑ๊ณต์ ์ผ๋ก ์ ์ก๋์์ต๋๋ค."
|
593 |
else:
|
|
|
557 |
BLOGGER_ID = os.getenv("BLOGGER_ID")
|
558 |
|
559 |
PEXELS_API_KEY = "5woz23MGx1QrSY0WHFb0BRi29JvbXPu97Hg0xnklYgHUI8G0w23FKH62"
|
560 |
+
PEXELS_API_URL = "https://api.pexels.com/v1/search"
|
561 |
+
|
562 |
+
# ๋ฒ์ญ ๋ชจ๋ธ ์ค์
|
563 |
+
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ko-en")
|
564 |
|
565 |
def get_image_url(topic):
|
566 |
+
# ์ฃผ์ ๋ฅผ ์์ด๋ก ๋ฒ์ญ
|
567 |
+
try:
|
568 |
+
translated = translator(topic, max_length=40)[0]['translation_text']
|
569 |
+
keywords = ' '.join(translated.split()[:2])
|
570 |
+
except Exception as e:
|
571 |
+
logger.error(f"๋ฒ์ญ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}")
|
572 |
+
keywords = ' '.join(topic.split()[:2]) # ๋ฒ์ญ ์คํจ ์ ์๋ณธ ์ฌ์ฉ
|
573 |
+
|
574 |
+
logger.debug(f"๊ฒ์ ํค์๋: {keywords}")
|
575 |
+
|
576 |
+
headers = {
|
577 |
+
"Authorization": PEXELS_API_KEY
|
578 |
+
}
|
579 |
+
params = {
|
580 |
+
"query": keywords,
|
581 |
+
"per_page": 1
|
582 |
+
}
|
583 |
+
|
584 |
try:
|
585 |
+
response = requests.get(PEXELS_API_URL, headers=headers, params=params)
|
586 |
+
logger.debug(f"Pexels API ์๋ต ์ํ ์ฝ๋: {response.status_code}")
|
587 |
+
|
588 |
+
if response.status_code == 200:
|
589 |
+
data = response.json()
|
590 |
+
logger.debug(f"Pexels API ์๋ต ๋ฐ์ดํฐ: {data}")
|
591 |
+
|
592 |
+
if data['photos']:
|
593 |
+
return data['photos'][0]['src']['large2x']
|
594 |
+
else:
|
595 |
+
logger.warning(f"'{keywords}' ๊ด๋ จ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.")
|
596 |
+
return None
|
597 |
else:
|
598 |
+
logger.error(f"Pexels API ์ค๋ฅ: {response.status_code}")
|
599 |
return None
|
600 |
except Exception as e:
|
601 |
logger.error(f"์ด๋ฏธ์ง ๊ฒ์ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}")
|
|
|
615 |
|
616 |
payload["content"] = blog_content
|
617 |
|
618 |
+
logger.debug(f"๋ธ๋ก๊ฑฐ์ ์ ์กํ ํ์ด๋ก๋: {payload}")
|
619 |
+
|
620 |
response = requests.post(WEBHOOK_URL, json=payload)
|
621 |
+
logger.debug(f"๋ธ๋ก๊ฑฐ ์๋ต: {response.status_code}, {response.text}")
|
622 |
+
|
623 |
if response.status_code == 200:
|
624 |
return "ํฌ์คํ
์ด ์ฑ๊ณต์ ์ผ๋ก ์ ์ก๋์์ต๋๋ค."
|
625 |
else:
|