diff options
Diffstat (limited to 'plugins/day_change.py')
-rw-r--r-- | plugins/day_change.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/day_change.py b/plugins/day_change.py new file mode 100644 index 00000000..cac69a75 --- /dev/null +++ b/plugins/day_change.py @@ -0,0 +1,31 @@ +from gettext import gettext as _ +from plugin import BasePlugin +import datetime +import tabs +import timed_events + +class Plugin(BasePlugin): + def init(self): + self.schedule_event() + + def cleanup(self): + self.core.remove_timed_event(self.next_event) + + def schedule_event(self): + day_change = datetime.datetime.combine(datetime.date.today(), datetime.time()) + day_change += datetime.timedelta(1) + self.next_event = timed_events.TimedEvent(day_change, self.day_change) + self.core.add_timed_event(self.next_event) + + def day_change(self): + msg = datetime.date.today().strftime(_("Day changed to %x")) + + for tab in self.core.tabs: + if (isinstance(tab, tabs.MucTab) or + isinstance(tab, tabs.PrivateTab) or + isinstance(tab, tabs.ConversationTab)): + room = tab.get_room() + room.add_message(msg) + + self.core.refresh_window() + self.schedule_event() |