fantaxy commited on
Commit
1856dd1
Β·
verified Β·
1 Parent(s): 8c66969

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -9
app.py CHANGED
@@ -20,6 +20,7 @@ from urllib.parse import urljoin
20
  import requests
21
  from pexels_api import API
22
  import logging
 
23
 
24
  # λ‘œκΉ… μ„€μ •
25
  logging.basicConfig(level=logging.INFO)
@@ -577,7 +578,7 @@ def get_image_url(topic):
577
  }
578
  params = {
579
  "query": keywords,
580
- "per_page": 20, # 검색 κ²°κ³Ό 수 증가
581
  }
582
 
583
  try:
@@ -588,15 +589,12 @@ def get_image_url(topic):
588
  data = response.json()
589
  logger.debug(f"Pexels API 응닡 데이터: {data}")
590
 
591
- suitable_photos = [
592
- photo for photo in data['photos']
593
- if photo['width'] / photo['height'] in [16/9, 4/3, 1, 9/16] # 16:9, 4:3, 1:1, 9:16 λΉ„μœ¨ 선택
594
- ]
595
-
596
- if suitable_photos:
597
- return suitable_photos[0]['src']['large2x']
598
  else:
599
- logger.warning(f"'{keywords}' κ΄€λ ¨ μ μ ˆν•œ λΉ„μœ¨μ˜ 이미지λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.")
600
  return None
601
  else:
602
  logger.error(f"Pexels API 였λ₯˜: {response.status_code}")
@@ -605,6 +603,37 @@ def get_image_url(topic):
605
  logger.error(f"이미지 검색 쀑 였λ₯˜ λ°œμƒ: {str(e)}")
606
  return None
607
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608
  def convert_markdown_images(content):
609
  logger.debug("원본 λ‚΄μš©: %s", content)
610
 
 
20
  import requests
21
  from pexels_api import API
22
  import logging
23
+ import random
24
 
25
  # λ‘œκΉ… μ„€μ •
26
  logging.basicConfig(level=logging.INFO)
 
578
  }
579
  params = {
580
  "query": keywords,
581
+ "per_page": 60, # 검색 κ²°κ³Ό 수 60개둜 증가
582
  }
583
 
584
  try:
 
589
  data = response.json()
590
  logger.debug(f"Pexels API 응닡 데이터: {data}")
591
 
592
+ if data['photos']:
593
+ # λžœλ€ν•˜κ²Œ 1μž₯의 이미지 선택
594
+ random_photo = random.choice(data['photos'])
595
+ return random_photo['src']['large2x']
 
 
 
596
  else:
597
+ logger.warning(f"'{keywords}' κ΄€λ ¨ 이미지λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.")
598
  return None
599
  else:
600
  logger.error(f"Pexels API 였λ₯˜: {response.status_code}")
 
603
  logger.error(f"이미지 검색 쀑 였λ₯˜ λ°œμƒ: {str(e)}")
604
  return None
605
 
606
+ def send_to_blogger(blog_title, blog_content):
607
+ if not WEBHOOK_URL:
608
+ logger.error("WEBHOOK_URL이 μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.")
609
+ return "WEBHOOK_URL이 μ„€μ •λ˜μ§€ μ•Šμ•„ ν¬μŠ€νŒ…μ„ 전솑할 수 μ—†μŠ΅λ‹ˆλ‹€."
610
+
611
+ converted_content = convert_markdown_images(blog_content)
612
+ logger.debug("λ³€ν™˜λœ λ‚΄μš©: %s", converted_content)
613
+
614
+ payload = {
615
+ "blogger_id": BLOGGER_ID,
616
+ "title": blog_title,
617
+ "content": converted_content
618
+ }
619
+
620
+ try:
621
+ logger.debug("λΈ”λ‘œκ±°μ— 전솑할 νŽ˜μ΄λ‘œλ“œ: %s", payload)
622
+
623
+ response = requests.post(WEBHOOK_URL, json=payload)
624
+ logger.debug("λΈ”λ‘œκ±° 응닡: %s, %s", response.status_code, response.text)
625
+
626
+ if response.status_code == 200:
627
+ return "ν¬μŠ€νŒ…μ΄ μ„±κ³΅μ μœΌλ‘œ μ „μ†‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
628
+ else:
629
+ return f"ν¬μŠ€νŒ… 전솑 μ‹€νŒ¨. μƒνƒœ μ½”λ“œ: {response.status_code}, 응닡: {response.text}"
630
+ except requests.exceptions.RequestException as e:
631
+ logger.error("λΈ”λ‘œκ±°μ— 전솑 쀑 였λ₯˜ λ°œμƒ: %s", str(e))
632
+ return f"λ„€νŠΈμ›Œν¬ 였λ₯˜ λ°œμƒ: {str(e)}"
633
+ except Exception as e:
634
+ logger.error("λΈ”λ‘œκ±°μ— 전솑 쀑 μ˜ˆμƒμΉ˜ λͺ»ν•œ 였λ₯˜ λ°œμƒ: %s", str(e))
635
+ return f"였λ₯˜ λ°œμƒ: {str(e)}"
636
+
637
  def convert_markdown_images(content):
638
  logger.debug("원본 λ‚΄μš©: %s", content)
639