|
|
|
|
@ -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'<a href="{source_url}">{source_name}</a>' |
|
|
|
|
new_summary = f"{summary}\n\n<p>We learned about this from {link_pattern}.</p>" |
|
|
|
|
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): |
|
|
|
|
|