def handle_checkbd(bot, ievent): """ bd-check .. check birthdays for current month """ (nowday, nowmonth) = getdaymonth(time.time()) mstr = "" result = [] s = create_session() bds = s.query(Birthday).all() if not bds: ievent.reply('no birthdays this month') return for i in bds: btime = strtotime(i.birthday) if btime == None: continue (day, month) = getdaymonth(btime) if month == nowmonth: result.append((int(day), i.name, i.birthday)) if day == nowday and month == nowmonth: ievent.reply("it's %s's birthday today!" % i.name) result.sort(lambda x, y: cmp(x[0], y[0])) for i in result: mstr += "%s: %s " % (i[1], i[2]) if mstr: mstr = "birthdays this month = " + mstr ievent.reply(mstr) else: ievent.reply('no birthdays this month')
def handle_checkbd2(bot, ievent): """ bd-check <nr> .. show birthdays in month (by number) """ try: monthnr = int(ievent.args[0]) if monthnr < 1 or monthnr > 12: ievent.reply("number must be between 1 and 12") return except (IndexError, ValueError): ievent.missing('<monthnr>') return mstr = "" result = [] s = create_session() bds = s.query(Birthday).all() if not bds: ievent.reply('no birthdays known') return for i in bds: btime = strtotime(i.birthday) if btime == None: continue (day, month) = getdaymonth(btime) if month == bdmonths[monthnr]: result.append((int(day), i.name, i.birthday)) result.sort(lambda x, y: cmp(x[0], y[0])) for i in result: mstr += "%s: %s " % (i[1], i[2]) if mstr: mstr = "birthdays in %s = " % bdmonths[monthnr] + mstr ievent.reply(mstr) else: ievent.reply('no birthdays found for %s' % bdmonths[monthnr])