Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.thread.agents.pingWeblogsCom
<<Changes
<<10/30/02; 4:13:56 PM by DW
<<If we're pinging the "rss" category, send the public ping to a different server, rssrpc.weblogs.com. It's a much faster less clogged server.
<<10/24/02; 6:26:53 AM by DW
<<If the category is available, use it in pinging Weblogs.Com. This enables writeRssFile to request that we ping the RSS category.
<<3/9/02; 12:58:20 PM by DW
<<Hotted-up Weblogs.Com in the event log.
<<3/9/02; 12:12:18 PM by DW
<<If the pref is enabled, ping the local community server and also ping Weblogs.Com.
<<2/25/02; 7:17:39 PM by JES
<<Pass the address of user.radio.prefs.weblogUpdates to weblogUpdates.ping.
<<1/21/02; 7:31:39 AM by DW
<<Created.
local (i);
for i = sizeof (system.temp.radio.pingAfterUpstream) downto 1 {
local (adr = @system.temp.radio.pingAfterUpstream [i]);
if defined (adr^.flUpstreamed) {
if adr^.flUpstreamed {
try {
local (name = adr^.name, url = adr^.url);
if system.environment.isMac {
name = latinToMac.macToLatin (name)};
local (categoryname = "none");
bundle { //set categoryname
if defined (adr^.pingCategory) {
categoryname = adr^.pingCategory}};
bundle { //do the ping and log it
local (startticks = clock.ticks (), message);
local (htmltext = "", fllocalping, flpublicping);
bundle { //ping weblogs.com, if pref is enabled
local (adrdata = radio.weblog.init ());
if adrdata^.prefs.flPublicBlog { //ping weblogs.com
if categoryName == "rss" { //10/30/02 by DW
weblogUpdates.publicRssPing (name, url)}
else {
weblogUpdates.ping (name, url, categoryName:categoryName)};
flpublicping = true}};
bundle { //ping the "local" community server if it's not rpc.weblogs.com
if not tcp.equalNames (user.radio.prefs.weblogUpdates.server, "rpc.weblogs.com") {
weblogUpdates.ping (name, url, adrdata:@user.radio.prefs.weblogUpdates, adrmessage:@message, categoryName:categoryName);
fllocalping = true}};
bundle { //log the call
local (whatupdated = "your weblog");
if categoryname == "rss" {
whatupdated = "your RSS feed"};
local (s);
if flpublicping {
if fllocalping {
s = "Notified <a href=\"http://www.weblogs.com.\">Weblogs.Com</a> and your local community server that " + whatupdated + " updated."}
else {
s = "Notified <a href=\"http://www.weblogs.com.\">Weblogs.Com</a> that " + whatupdated + " updated."}}
else {
if fllocalping {
s = "Notified the local community server that " + whatupdated + " updated."}
else {
s = ""}};
if s != "" {
radio.log.add ("Weblogs", s, startticks)}}}};
delete (adr)}}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.