Example #1
0
 def create_loghandler(self):
     return SummarisingLogger(self.section.fromaddr, self.section.toaddrs,
                              self.mailhost(), self.section.subject,
                              self.section.send_empty_entries,
                              self.section.atexit, self.section.username,
                              self.section.password, self.section.ignore,
                              self.headers(), self.section.send_level,
                              self.section.template, self.section.charset,
                              self.section.content_type)
Example #2
0
def main(argv=None):
    parser = argparse.ArgumentParser()
    parser.add_argument('-C', default='/config', dest='config_folder')
    parser.add_argument('--no-email', action='store_true')
    args = parser.parse_args(argv)
    args.config_checker = 'svn'
    args.config_folder = os.path.abspath(args.config_folder)
    checkers = []
    for line in open(os.path.join(args.config_folder, 'checker.txt'), 'rU'):
        line = line.strip()
        if not line:
            continue
        if line.startswith('#'):
            continue
        c = line.split(':', 1)
        if len(c) != 2:
            raise ValueError('No colon found on a line in checker.txt')
        if c[0] in special:
            setattr(args, c[0], c[1])
        else:
            checkers.append(c)
    logger.setLevel(INFO)
    if getattr(args, 'email_to', None) and not args.no_email:
        to_ = [e.strip()
               for e in args.email_to.split(',')]  # pragma: no branch
        from_ = getattr(args, 'email_from', to_[0]).strip()
        handler = SummarisingLogger(
            from_,
            to_,
            subject=getattr(args, 'email_subject',
                            'Checker output from %(hostname)s').strip(),
            mailhost=getattr(args, 'email_smtphost', 'localhost').strip(),
            send_empty_entries=False,
        )
    else:
        handler = StreamHandler(sys.stdout)
    logger.addHandler(handler)
    for c in checkers:
        check(args.config_folder, *c)
    for checker in args.config_checker.split(','):
        check(args.config_folder, checker, args.config_folder)
Example #3
0
 def create(self, *args, **kw):
     kw['atexit'] = False
     self.handler = SummarisingLogger(*args, **kw)
     self.logger = logging.getLogger('')
     self.logger.addHandler(self.handler)