1 """
2 program emails to be sent as reminder
3
4 @copyright: (c) 2011 hackmeeting U{http://sindominio.net/hackmeeting}
5 @author: Ruben Pollan
6 @organization: hackmeeting U{http://sindominio.net/hackmeeting}
7 @contact: meskio@sindominio.net
8 @license:
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the Do What The Fuck You Want To
11 Public License, Version 2, as published by Sam Hocevar. See
12 U{http://sam.zoy.org/projects/COPYING.WTFPL} for more details.
13 """
14
15 from emma.events import Event, subscribe
16 from emma.sched import at
17 from emma.module import Module
18 from emma.interface.message import Message
19
20
27
29 if not data:
30 if event.interface in ("irc", "xmpp"):
31 return _(" * remind 23/11/2011 08:17;" \
32 "hackmeeting@listas.sindominio.net;subject;text\n" \
33 " Schelude a reminder at certain date\n")
34 elif event.interface == "email":
35 return _(" * _.remind 23/11/2011 08:17;" \
36 "hackmeeting@listas.sindominio.net;subject;text._\n" \
37 " Schelude a reminder at certan date\n")
38 elif data in ('remind', _('remind')):
39 return _("You can program reminders to be send by %s at a " \
40 "given date.\n It takes three or four parameters " \
41 "separated by ';': date;email;subject;body\n" \
42 "The subject is optional") % (self.conf['interface'])
43 return ""
44
46 cmd, args = data[0]
47 if cmd not in ('remind', _('remind')):
48 return
49
50 s = args.split(';')
51 if len(s) == 4:
52 date, to, subject, body = s
53 elif len(s) == 3:
54 date, to, body = s
55 subject = _("reminder")
56 else:
57 self.log(_("args not well formed"))
58 return
59
60 msg = Message(body, to)
61 msg['Subject'] = subject
62 send_event = Event('send', self.conf['interface'],
63 self.conf['identifier'])
64 at(send_event, msg, date)
65