Monday, November 08, 2010 at 12:04 AM.
system.verbs.builtins.log2.overnight
on overnight () { <<Changes <<10/20/09; 10:01:13 AM by DW <<Vastly simplified using visitReverseChronologic. <<10/17/09; 4:42:58 PM by DW <<Created. Delete log entries older than those specified by the preference. local (adrdata = log2.init (), adrcal = @adrdata^.calendar); local (when = clock.now () - (adrdata^.prefs.ctDaysInLog * 24 * 60 * 60)); on visit (adrday) { local (d = mainResponder.calendar.getAddressDay (adrday)); if d < when { delete (adrday)}; return (true)}; mainresponder.calendar.visitReverseChronologic (adrcal, @visit, true); filemenu.savemyroot (adrcal)} <<bundle //old code <<local (adrdata = log2.init (), adrcal = @adrdata^.calendar) <<local (when = clock.now () - (adrdata^.prefs.ctDaysInLog * 24 * 60 * 60)) <<local (adrday = mainresponder.calendar.getdayaddress (adrcal, when)) <<local (adrmonth = parentof (adrday^), adr, fldeleting = false, i) <<for i = sizeof (adrmonth^) downto 1 <<adr = @adrmonth^ [i] <<if adr == adrday <<fldeleting = true <<else <<if fldeleting <<delete (adr) <<local (adryear = parentof (adrmonth^)) <<fldeleting = false <<for i = sizeof (adryear^) downto 1 <<adr = @adryear^ [i] <<if adr == adrmonth <<fldeleting = true <<else <<if fldeleting <<delete (adr) <<fldeleting = false <<for i = sizeof (adrcal^) downto 1 <<adr = adrcal^ [i] <<if adr == adryear <<fldeleting = true <<else <<if fldeleting <<delete (adr) <<bundle //test code <<overnight ()
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.