From 5dea3dcf800d2588732d0d217429e1d7402208fc Mon Sep 17 00:00:00 2001 From: Todd Eisenberger Date: Tue, 27 Sep 2011 10:15:15 -0700 Subject: Add day_change plugin, make translate update right away --- plugins/day_change.py | 31 +++++++++++++++++++++++++++++++ plugins/translate.py | 1 + 2 files changed, 32 insertions(+) create mode 100644 plugins/day_change.py (limited to 'plugins') 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() diff --git a/plugins/translate.py b/plugins/translate.py index 625d78e7..880c8af1 100644 --- a/plugins/translate.py +++ b/plugins/translate.py @@ -28,6 +28,7 @@ class Plugin(BasePlugin): text, lang = translate(body) if lang != TARGET_LANG: room.add_message(text, nickname=nick_from) + self.core.refresh_window() except Exception as e: import traceback self.core.information("Exception in translator! %s" % (traceback.format_exc(),)) -- cgit v1.2.3