Nodes/UCLA Daily/UCLA Daily: Med Fetch
ComfyUI Node

UCLA Daily: Med Fetch

Health & Behavior news from UCLA Newsroom, no API key required

By jbrick2070·Created 5 months ago·Updated 5 months ago· 0
UCLA Daily: Med Fetch
  • ucla_data
  • ucla_data
  • segment_text
rss_urlhttps://newsroom.ucla.edu/cats/health_+_behavior.xml
max_items5

UCLAMedFetch is one of the fetch nodes in the UCLA Daily pack, and it's the simplest kind: it reads an RSS feed, parses it, and hands the items on to the next node in the pipeline. Nothing fancy, no API keys, no auth - just UCLA's public Health & Behavior news feed. If your lobby screen or morning brief should occasionally remind people that the campus research machine is doing interesting medical things, this is the node.

UCLA Daily is a custom-node pack from Jeffrey A. Brick that aggregates campus news and events into lobby-display cards. The design philosophy is "public feeds only, zero dependencies, never crash." Every fetcher in the pack takes UCLA_DATA in and returns it plus a segment_text string, so you can chain any combination of fetchers between DataInit and the card/pulse nodes at the end. Med Fetch slots in wherever you want health news.

How it works

The mechanism is a straight RSS pull. It fetches https://newsroom.ucla.edu/cats/health_+_behavior.xml (a category feed from the UCLA Newsroom), parses the XML, and converts items into the pack's standard event dicts. The HTTP work goes through the shared http_utils helper, which tries requests first for better error reporting and falls back to urllib from the standard library - so the node works even in a bare Python environment. If the feed is unreachable, the failure is logged into the errors[] list in the data dict and the pipeline keeps going instead of dying mid-graph.

Two small touches are worth knowing because they're typical of the whole pack: it runs IS_CHANGED (always re-fetch on each queue run), and it cleans up mojibake - curly quotes, em dashes, and other mangled Unicode that RSS feeds love to serve you.

The inputs

Just two that matter, plus the data input:

  • ucla_data - the UCLA_DATA dict from UCLADailyDataInit. This is how the node joins the pipeline.
  • rss_url - defaults to the Health & Behavior feed. The tooltip says it plainly: change it only if the feed moves. You can point it at any Newsroom XML, though if you want arbitrary feeds, UCLANewsroomFetch is the more flexible sibling.
  • max_items - 1–20, default 5. How many news items to pull. Five headlines keeps a card readable in the elevator; crank it up if you're feeding a text report instead.

Outputs

Two: ucla_data (the enriched pipeline dict, ready to chain into another fetcher or a card) and segment_text - the plain-text rendering of what was fetched. segment_text is what you wire into UCLALobbyCard or UCLANarrator if you want the raw listing rewritten into something friendlier.

Install

Search for UCLA Daily in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/jbrick2070/ComfyUI-UCLADaily.git
pip install qrcode pillow requests

Then restart ComfyUI. This specific node needs nothing extra - pure stdlib parsing - though requests (already in that pip line) makes the HTTP layer happier.

Common issues

The only realistic failure is the feed moving or UCLA rate-limiting a burst of re-fetches - remember, IS_CHANGED means every queue run hits the network. If you're iterating on card layout, don't leave Med Fetch in the graph while you tweak pixels; you're just hammering the Newsroom for data you're not using. Pull once, render, iterate.

CategoryUCLA Daily/Fetchers

Inputs (3)

NameTypeDefaultDescription
ucla_dataUCLA_DATA
rss_urlSTRINGhttps://newsroom.ucla.edu/cats/health_+_behavior.xmlUCLA Health & Behavior RSS feed URL. Change only if feed moves.
max_itemsINT51–20Maximum number of news items to pull from the feed.

Outputs (2)

NameTypeDescription
ucla_dataUCLA_DATA
segment_textSTRING