Tuesday, August 18, 2009 at 7:53 PM.
godsTweetSuite.synchSubs
on synchSubs (accountname) { <<Changes <<5/4/09; 12:24:08 PM by DW <<Created. on log (s) { msg (s); op.insert (s + " -- " + clock.now (), up); twitter.newpost (s, adrdata^.prefs.username, adrdata^.prefs.password)}; local (adrdata = godsTweetSuite.init (accountname), adr); bundle { //set up the log outline target.set (@adrdata^.log); op.firstsummit ()}; <<edit (@adrdata^.log) <<window.about () local (username = adrdata^.prefs.username, password = adrdata^.prefs.password); twitter.getFriends (@friends, username, password); <<scratchpad.friends = friends for adr in @friends { local (name = nameof (adr^)); if not defined (adrdata^.userProfiles.[name]) { //no longer in top 100 log ("Unfollowing @" + name); twitter.unfollow (name, username, password); adrdata^.stats.ctUnfollows++; adrdata^.stats.whenLastUnfollow = clock.now ()}}; for adr in @adrdata^.userProfiles { local (name = nameof (adr^)); if not defined (friends.[name]) { //must be added to top 100 log ("Following @" + name); twitter.follow (name, username, password); adrdata^.stats.ctFollows++; adrdata^.stats.whenLastFollow = clock.now ()}}}; bundle { //test code synchSubs ()}
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.