def __init__(self, database = 'data/acl.db'): self.db = database self.config = ConfigController() try: conn = sqlite3.connect(self.db) #cursor = conn.cursor() # ACL fp = open("resources/acl/acl.sql", "r") data = fp.read() fp.close() # Triggers fp = open("resources/acl/triggers.sql", "r") data += fp.read() fp.close() conn.executescript(data) conn.commit() if not self._user_exists("any"): self.add_user("any") self.user_add_hostmask("any", "*!*@*") except sqlite3.Error as e: Logger.fatal("Unable to create ACL database: %s" % e)
Logger.info("Connecting to %s..." % irc.get_ircnet_name()) irc.connect() self.ircnetscontroller.add_ircnet(irc.get_ircnet_name(), irc) def stop(self): self.ircnetscontroller.disconnect_all() self.plugincontroller.unload_all() if __name__ == "__main__": bot = None try: Logger.info("Initializing...") bot = NeuBot() bot.start() while not bot.quit_event.isSet(): bot.quit_event.wait(1) except KeyboardInterrupt: Logger.info("Keyboard interrupt detected. Shutting down.") except Exception as e: Logger.fatal("Fatal error: %s" % e) finally: if bot: bot.stop()