From 6be84938783481d410c52f1d0557432b93bbc758 Mon Sep 17 00:00:00 2001 From: Shane Date: Sun, 4 May 2025 11:09:02 +1000 Subject: [PATCH] fix --- foodie_automator_google.py | 4 +--- foodie_automator_reddit.py | 6 ++---- foodie_automator_rss.py | 35 ++++++++++------------------------- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/foodie_automator_google.py b/foodie_automator_google.py index ae411cd..cdd735c 100644 --- a/foodie_automator_google.py +++ b/foodie_automator_google.py @@ -215,7 +215,6 @@ def curate_from_google_trends(geo_list=['US']): attempts += 1 continue - # Fetch additional context via DDG ddg_context = fetch_duckduckgo_news_context(title) scoring_content = f"{title}\n\n{summary}\n\nAdditional Context: {ddg_context}" interest_score = is_interesting(scoring_content) @@ -255,13 +254,12 @@ def curate_from_google_trends(geo_list=['US']): attempts += 1 continue - image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords) + image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords, main_topic) if not image_url: image_url, image_source, uploader, page_url = get_image(image_query) hook = get_dynamic_hook(post_data["title"]).strip() - # Generate viral share prompt share_prompt = get_viral_share_prompt(post_data["title"], final_summary) share_links_template = ( f'

{share_prompt} ' diff --git a/foodie_automator_reddit.py b/foodie_automator_reddit.py index fa5b033..0297b07 100644 --- a/foodie_automator_reddit.py +++ b/foodie_automator_reddit.py @@ -274,7 +274,6 @@ def curate_from_reddit(): continue top_comments = get_top_comments(link, reddit, limit=3) - # Fetch additional context via DDG ddg_context = fetch_duckduckgo_news_context(title) content_to_summarize = f"{title}\n\n{summary}\n\nTop Comments:\n{'\n'.join(top_comments) if top_comments else 'None'}\n\nAdditional Context: {ddg_context}" interest_score = is_interesting_reddit( @@ -316,18 +315,17 @@ def curate_from_reddit(): final_summary = insert_link_naturally(final_summary, source_name, link) - post_data, author, category, image_url, image_source, uploader, pixabay_url = prepare_post_data(final_summary, title) + post_data, author, category, image_url, image_source, uploader, pixabay_url = prepare_post_data(final_summary, title, main_topic) if not post_data: attempts += 1 continue - image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords) + image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords, main_topic) if not image_url: image_url, image_source, uploader, page_url = get_image(image_query) hook = get_dynamic_hook(post_data["title"]).strip() - # Generate viral share prompt share_prompt = get_viral_share_prompt(post_data["title"], final_summary) share_links_template = ( f'

{share_prompt} ' diff --git a/foodie_automator_rss.py b/foodie_automator_rss.py index 467c37c..bdd5422 100644 --- a/foodie_automator_rss.py +++ b/foodie_automator_rss.py @@ -210,7 +210,7 @@ def fetch_duckduckgo_news_context(title, hours=24): return title def curate_from_rss(): - articles = fetch_rss_feeds() + articles = fetch_rss_articles() if not articles: print("No RSS articles available") logging.info("No RSS articles available") @@ -222,9 +222,8 @@ def curate_from_rss(): article = articles.pop(0) title = article["title"] link = article["link"] - summary = article["summary"] - content = article["content"] - source_name = article["feed_title"] + summary = article.get("summary", "") + source_name = article.get("source_name", "Unknown Source") original_source = f'{source_name}' if title in posted_titles: @@ -243,17 +242,11 @@ def curate_from_rss(): attempts += 1 continue - # Pass main_topic to get_flickr_image for use in fallbacks - image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords, main_topic) - if not image_url: - image_url, image_source, uploader, page_url = get_image(image_query) - - # Fetch additional context via DDG ddg_context = fetch_duckduckgo_news_context(title) - scoring_content = f"{title}\n\n{summary}\n\nContent: {content}\n\nAdditional Context: {ddg_context}" + scoring_content = f"{title}\n\n{summary}\n\nAdditional Context: {ddg_context}" interest_score = is_interesting(scoring_content) logging.info(f"Interest score for '{title}': {interest_score}") - if interest_score < 7: + if interest_score < 6: print(f"RSS Interest Too Low: {interest_score}") logging.info(f"RSS Interest Too Low: {interest_score}") attempts += 1 @@ -265,7 +258,7 @@ def curate_from_rss(): f"FOCUS: Summarize ONLY the provided content, focusing on its specific topic and details without mentioning the original title.\n" f"Incorporate relevant insights from this additional context if available: {ddg_context}.\n" f"Do NOT introduce unrelated concepts unless in the content or additional context.\n" - f"Expand on the core idea with relevant context about its appeal or significance.\n" + f"Expand on the core idea with relevant context about its appeal or significance in food trends.\n" f"Do not include emojis in the summary." ) content_to_summarize = scoring_content @@ -282,32 +275,25 @@ def curate_from_rss(): continue final_summary = insert_link_naturally(final_summary, source_name, link) + post_data, author, category, image_url, image_source, uploader, pixabay_url = prepare_post_data(final_summary, title, main_topic) if not post_data: - logging.info(f"Post data preparation failed for '{title}'") attempts += 1 continue - # Fetch image - image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords) + image_url, image_source, uploader, page_url = get_flickr_image(image_query, relevance_keywords, main_topic) if not image_url: - logging.info(f"Flickr fetch failed for '{image_query}'. Falling back to Pixabay.") image_url, image_source, uploader, page_url = get_image(image_query) - if not image_url: - logging.info(f"Pixabay fetch failed for '{image_query}'. Skipping article '{title}'.") - attempts += 1 - continue hook = get_dynamic_hook(post_data["title"]).strip() - # Generate viral share prompt share_prompt = get_viral_share_prompt(post_data["title"], final_summary) share_links_template = ( f'

{share_prompt} ' f' ' f'

' ) - post_data["content"] = f"{final_summary}\n\n{share_links_template}" # Removed cta from content + post_data["content"] = f"{final_summary}\n\n{share_links_template}" global is_posting is_posting = True @@ -333,8 +319,7 @@ def curate_from_rss(): share_text_encoded = quote(share_text) post_url_encoded = quote(post_url) share_links = share_links_template.format(post_url=post_url_encoded, share_text=share_text_encoded) - # Removed: cta = select_best_cta(post_data["title"], final_summary, post_url=post_url) - post_data["content"] = f"{final_summary}\n\n{share_links}" # Removed cta from content + post_data["content"] = f"{final_summary}\n\n{share_links}" is_posting = True try: post_to_wp(