- def __set_logger(self, log_file=None, log_level=logging.INFO):
- """Create console/file handler"""
- log_fd = open(log_file, 'w') if log_file else None
- chandler = logging.StreamHandler(log_fd)
- formatter = logging.Formatter(
- '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
- )
- chandler.setFormatter(formatter)
- self.log.addHandler(chandler)
- self.log.setLevel(log_level)
- self.log.debug('set logger, log level : %s', log_level)
+ def __set_logger(self, log_level):
+ """Set logging level"""
+ log.setLevel(log_level)
+ log.debug('set logger, log level : %s', log_level)
+
+ def _muc_got_online(self, pres):
+ """Keep track of MUC participants"""
+ fjid = pres['muc']['jid']
+ nick = pres['muc']['nick']
+ role = pres['muc']['role']
+ affi = pres['muc']['affiliation']
+ user = fjid if fjid.full else nick
+ self.muc_presences.update({nick: pres})
+ log.debug('Participants: + %s:%s/%s (len:%s)',
+ user, role, affi,len(self.muc_presences))
+
+ def _muc_got_offline(self, pres):
+ """Keep track of MUC participants"""
+ fjid = pres['muc']['jid']
+ user = fjid if fjid.full else pres['muc']['nick']
+ try:
+ self.muc_presences.pop(pres['muc']['nick'])
+ except KeyError:
+ log.error('KeyError removing participant: "%s"', user)
+ log.debug('Participants: - %s got offline (len:%s)',
+ user, len(self.muc_presences))
+
+ def _muc_got_presence(self, pres):
+ """Keep track of MUC participants"""
+ nick = pres['muc']['nick']
+ fjid = pres['muc']['jid']
+ role = pres['muc']['role']
+ affi = pres['muc']['affiliation']
+ user = fjid if fjid.full else nick
+ log.debug('Participants: u %s:%s/%s (len:%s)',
+ user, role, affi,len(self.muc_presences))
+ self.muc_presences.update({nick: pres})