Shane 7 months ago
parent a130c65edf
commit 5cd45cf67f
  1. 19
      foodie_utils.py

@ -652,7 +652,8 @@ def insert_link_naturally(summary, source_name, source_url):
try: try:
logging.info(f"Input summary to insert_link_naturally: {summary!r}") logging.info(f"Input summary to insert_link_naturally: {summary!r}")
paragraphs = summary.split('\n') # Split summary into paragraphs using \n\n (correct separator)
paragraphs = summary.split('\n\n')
if not paragraphs or all(not p.strip() for p in paragraphs): if not paragraphs or all(not p.strip() for p in paragraphs):
logging.error("No valid paragraphs to insert link.") logging.error("No valid paragraphs to insert link.")
return summary return summary
@ -717,7 +718,8 @@ def insert_link_naturally(summary, source_name, source_url):
new_para = ' '.join(sentences) new_para = ' '.join(sentences)
paragraphs[paragraphs.index(best_paragraph)] = new_para paragraphs[paragraphs.index(best_paragraph)] = new_para
new_summary = '\n'.join(paragraphs) # Rejoin paragraphs with \n\n
new_summary = '\n\n'.join(paragraphs)
logging.info(f"Summary with naturally embedded link: {new_summary!r}") logging.info(f"Summary with naturally embedded link: {new_summary!r}")
return new_summary return new_summary
@ -726,10 +728,17 @@ def insert_link_naturally(summary, source_name, source_url):
return append_link_as_fallback(summary, source_name, source_url) return append_link_as_fallback(summary, source_name, source_url)
def append_link_as_fallback(summary, source_name, source_url): def append_link_as_fallback(summary, source_name, source_url):
"""Fallback method to append the link in a polished way.""" """Fallback method to append the link to the last paragraph."""
link_pattern = f'<a href="{source_url}">{source_name}</a>' link_pattern = f'<a href="{source_url}">{source_name}</a>'
new_summary = f"{summary}\n\n<p>We learned about this from {link_pattern}.</p>" # Split summary into paragraphs using the correct separator (\n\n)
logging.info(f"Fallback summary with link: {new_summary!r}") paragraphs = summary.split('\n\n')
if not paragraphs: # Edge case: empty summary
paragraphs = [""]
# Append the credit to the last paragraph
credit = f' We learned about this from {link_pattern}.'
paragraphs[-1] += credit
new_summary = '\n\n'.join(paragraphs)
logging.info(f"Fallback summary with link appended to last paragraph: {new_summary!r}")
return new_summary return new_summary
def generate_category_from_summary(summary): def generate_category_from_summary(summary):

Loading…
Cancel
Save