def test_logger(self): test_log_dir = utils.get_home_directory() + "logs/" try: # NOTE(jk0): If the configuration file doesn't exist, the config # class will generate it and raise a SystemExit. test_log = logger.get_logger("TEST") except SystemExit: test_log = logger.get_logger("TEST") self.assertEqual("TEST", test_log.name) self.assertEqual(test_log.level, 0) os.unlink(test_log_dir + "test.log")
def Main(): """Main loop.""" config = utils.get_config() log = logger.get_logger() networks = config.get("networks", type="list") log.info("Starting %s..." % version.version_string()) log.info("Connecting to networks: %s" % ", ".join(networks)) procs = [] for network in networks: proc = process.Process(network) proc.start() procs.append(proc) try: if config.get("api_enabled", type="bool"): api.run() while True: time.sleep(1) for proc in procs: if not proc.is_alive(): procs.remove(proc) if not procs: log.info("No longer connected to any networks; shutting down.") sys.exit(0) except KeyboardInterrupt: log.info("Caught KeyboardInterrupt; shutting down.")
def __init__(self, network): super(Process, self).__init__() self.log = logger.get_logger() self.config = utils.get_config() self.network = network self.reconnect_delay = self.config.get("reconnect_delay", type="int")
def __init__(self, network): pyhole_config = utils.get_config() network_config = utils.get_config(network) self.addressed = False self.client = None self.log = logger.get_logger(str(network)) self.version = version.version_string() self.admins = pyhole_config.get("admins", type="list") self.command_prefix = pyhole_config.get("command_prefix") self.api_token = network_config.get("api_token") self.nick = network_config.get("nick") self.load_plugins()
def __init__(self, network): irclib.SimpleIRCClient.__init__(self) logger.setup_logger(str(network)) pyhole_config = utils.get_config() network_config = utils.get_config(network) self.log = logger.get_logger(str(network)) self.version = version.version_string() self.source = None self.target = None self.addressed = False self.admins = pyhole_config.get("admins", type="list") self.command_prefix = pyhole_config.get("command_prefix") self.reconnect_delay = pyhole_config.get("reconnect_delay", type="int") self.rejoin_delay = pyhole_config.get("rejoin_delay", type="int") self.server = network_config.get("server") self.password = network_config.get("password", default=None) self.port = network_config.get("port", type="int", default=6667) self.ssl = network_config.get("ssl", type="bool", default=False) self.ipv6 = network_config.get("ipv6", type="bool", default=False) self.bind_to = network_config.get("bind_to", default=None) self.nick = network_config.get("nick") self.username = network_config.get("username", default=None) self.identify_password = network_config.get("identify_password", default=None) self.channels = network_config.get("channels", type="list") self.load_plugins() self.log.info("Connecting to %s:%d as %s" % (self.server, self.port, self.nick)) self.connect(self.server, self.port, self.nick, self.password, username=self.username, connect_factory=connection.Factory( wrapper=ssl.wrap_socket, ipv6=self.ipv6).connect if self.ssl else connection.Factory())
def __init__(self, network): irclib.SimpleIRCClient.__init__(self) pyhole_config = utils.get_config() network_config = utils.get_config(network) self.log = logger.get_logger(str(network)) self.version = version.version_string() self.source = None self.target = None self.addressed = False self.admins = pyhole_config.get("admins", type="list") self.command_prefix = pyhole_config.get("command_prefix") self.reconnect_delay = pyhole_config.get("reconnect_delay", type="int") self.rejoin_delay = pyhole_config.get("rejoin_delay", type="int") self.server = network_config.get("server") self.password = network_config.get("password", default=None) self.port = network_config.get("port", type="int", default=6667) self.ssl = network_config.get("ssl", type="bool", default=False) self.ipv6 = network_config.get("ipv6", type="bool", default=False) self.bind_to = network_config.get("bind_to", default=None) self.nick = network_config.get("nick") self.username = network_config.get("username", default=None) self.identify_password = network_config.get("identify_password", default=None) self.channels = network_config.get("channels", type="list") self.load_plugins() self.log.info("Connecting to %s:%d as %s" % (self.server, self.port, self.nick)) self.connect(self.server, self.port, self.nick, self.password, username=self.username, connect_factory=connection.Factory( wrapper=ssl.wrap_socket, ipv6=self.ipv6).connect if self.ssl else connection.Factory())