""" Trigger - simple input -> output lookup based on config Copyright (C) 2010 Brian S. Stephan This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . """ from ConfigParser import NoOptionError, NoSectionError import re from extlib import irclib from Module import Module class Trigger(Module): """Return text based on trigger input.""" def do(self, connection, event, nick, userhost, what, admin_unlocked): """Look up input text in config, and respond with result if found.""" try: trigger_list = self.config.options(self.__class__.__name__) self.remove_metaoptions(trigger_list) for trigger in trigger_list: if re.search(trigger, what) is not None: output = self.config.get(self.__class__.__name__, trigger) return output except NoOptionError: pass except NoSectionError: pass # vi:tabstop=4:expandtab:autoindent # kate: indent-mode python;indent-width 4;replace-tabs on;