diff --git a/foodie_utils.py b/foodie_utils.py index bc5b6e9..5437e34 100644 --- a/foodie_utils.py +++ b/foodie_utils.py @@ -652,7 +652,8 @@ def insert_link_naturally(summary, source_name, source_url): try: 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): logging.error("No valid paragraphs to insert link.") return summary @@ -717,7 +718,8 @@ def insert_link_naturally(summary, source_name, source_url): new_para = ' '.join(sentences) 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}") 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) 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'{source_name}' - new_summary = f"{summary}\n\n

We learned about this from {link_pattern}.

" - logging.info(f"Fallback summary with link: {new_summary!r}") + # Split summary into paragraphs using the correct separator (\n\n) + 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 def generate_category_from_summary(summary):