Here’s a script that attempts to subscribe to a full-text feed of the current subscription in NetNewsWire. It does this using EchoDittoLabs’ excellent FullTextRSS service.
To use, select a headline or subscription title in NetNewsWire and run the script. The full-text feed will appear in your top-level items.
Thanks to harvey.nu for the URL encoding routine. The script worked without the routine but it seemed safer to include it.
[Updated 2/22 with change suggested by Pascal.]
Fulltextrss.scpt v 0.1b
Attempts to subscribe to the current subscription via
EchoDittoLabs’ FullTextRSS service (echodittolabs.org/fulltextrss)
Contains no error checking; use at your own risk
Dan Byler firstname.lastname@example.org
property fulltextpre : "http://labs.echoditto.com/projects/fulltextrss/?url="
tell application "NetNewsWire"
if exists selectedHeadline then
set this_headline to selectedHeadline
set stdfeed to RSS URL of subscription of selectedHeadline
else if exists selectedSubscription then
set stdfeed to RSS URL of selectedSubscription
set theTextEnc to my urlencode(stdfeed)
set fulltextfeed to fulltextpre & theTextEnc
set theresult to subscribe to fulltextfeed
display dialog "Oops—something went wrong."
— urlencode routine taken from http://harvey.nu/applescript_url_encode_routine.html
set theTextEnc to ""
repeat with eachChar in characters of stdfeed
set useChar to eachChar
set eachCharNum to ASCII number of eachChar
if eachCharNum = 32 then
set useChar to "+"
else if (eachCharNum ≠ 42) and (eachCharNum ≠ 95) and (eachCharNum < 45 or eachCharNum > 46) and (eachCharNum < 48 or eachCharNum > 57) and (eachCharNum < 65 or eachCharNum > 90) and (eachCharNum < 97 or eachCharNum > 122) then
set firstDig to round (eachCharNum / 16) rounding down
set secondDig to eachCharNum mod 16
if firstDig > 9 then
set aNum to firstDig + 55
set firstDig to ASCII character aNum
if secondDig > 9 then
set aNum to secondDig + 55
set secondDig to ASCII character aNum
set numHex to ("%" & (firstDig as string) & (secondDig as string)) as string
set useChar to numHex
set theTextEnc to theTextEnc & useChar as string
Download a copy here.