fantaxy commited on
Commit
cc7b568
ยท
verified ยท
1 Parent(s): efa7bb4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -7
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
- pexels_api = API(PEXELS_API_KEY)
 
 
 
561
 
562
  def get_image_url(topic):
563
- keywords = ' '.join(topic.split()[:2])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
564
  try:
565
- # Pexels API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰
566
- results = pexels_api.search(keywords, page=1, results_per_page=1)
567
- if results and results['photos']:
568
- return results['photos'][0]['src']['original']
 
 
 
 
 
 
 
 
569
  else:
570
- logger.warning(f"'{keywords}' ๊ด€๋ จ ์ด๋ฏธ์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.")
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: