Esempio n. 1
0
 def report(msg):
     utils.report(
         system='mw-check-service',
         subject='mw-check-service error',
         from_email=options.report_from_mail.encode('utf-8'),
         mail_recipients=[options.report_recipient.encode('utf-8')],
         msg=msg,
     )
Esempio n. 2
0
 def report(msg):
     utils.report(
         system='mw-check-service',
         subject='mw-check-service error',
         from_email=options.report_from_mail.encode('utf-8'),
         mail_recipients=[options.report_recipient.encode('utf-8')],
         msg=msg,
     )
Esempio n. 3
0
 def send_report_mail(self, subject, **kwargs):
     if not (self.report_from_mail and self.report_recipients):
         return
     utils.report(system='mwlib.serve',
                  subject=subject,
                  from_email=self.report_from_mail,
                  mail_recipients=self.report_recipients,
                  write_file=False,
                  **kwargs)
Esempio n. 4
0
 def send_report_mail(self, subject, **kwargs):
     if not (self.report_from_mail and self.report_recipients):
         return
     utils.report(
         system='mwlib.serve',
         subject=subject,
         from_email=self.report_from_mail,
         mail_recipients=self.report_recipients,
         **kwargs
     )
Esempio n. 5
0
def reportError(command, metabook, res, baseurl, writer,
                from_email=None,
                mail_recipients=None,
                ):
    utils.report(
        system=system,
        subject='Error %r with command %r' % (res.get('reason', '?'), command),
        error=res.get('error'),
        res=res,
        metabook=metabook,
        baseurl=baseurl,
        writer=writer,
        from_email=from_email,
        mail_recipients=mail_recipients,
    )
    sys.exc_clear()
Esempio n. 6
0
def main():
    parser = OptionParser(usage="%prog [OPTIONS]")
    parser.add_option("-b", "--baseurl", help="baseurl of wiki")
    parser.add_option("-w", "--writer", help="writer to use")
    parser.add_option('-l', '--logfile', help='log output to LOGFILE')
    parser.add_option('-f', '--from-email',
                      help='From: email address for error mails',
                      )
    parser.add_option('-r', '--mail-recipients',
                      help='To: email addresses ("," separated) for error mails',
                      )
    parser.add_option('-m', '--max-narticles',
                      help='maximum number of articles for random collections (min is 1)',
                      default=10,
                      )
    parser.add_option('-s', '--serviceurl',
                      help="location of the mw-serve server to test",
                      default='http://tools.pediapress.com/mw-serve/',
                      # default='http://localhost:8899/mw-serve/',
                      )
    use_help = 'Use --help for usage information.'
    options, args = parser.parse_args()

    assert options.from_email

    if options.logfile:
        utils.start_logging(options.logfile)

    baseurl2api = {}
    baseurls = options.baseurl.split()
    for baseurl in baseurls:
        baseurl2api[baseurl] = mwapidb.APIHelper(baseurl)

    maxarts = int(options.max_narticles)
    mail_recipients = None
    if options.mail_recipients:
        mail_recipients = options.mail_recipients.split(',')
    ok_count = 0
    fail_count = 0
    while True:
        baseurl = random.choice(baseurls)
        try:
            ok = checkservice(baseurl2api[baseurl],
                              options.serviceurl,
                              baseurl,
                              options.writer,
                              maxarts,
                              from_email=options.from_email,
                              mail_recipients=mail_recipients,
                              )
            if ok:
                ok_count += 1
                log.check('OK')
            else:
                fail_count += 1
                log.check('FAIL!')
        except KeyboardInterrupt:
            break
        except BaseException:
            fail_count += 1
            log.check('EPIC FAIL!!!')
            utils.report(
                system=system,
                subject='checkservice() failed, waiting 60seconds',
                from_email=options.from_email,
                mail_recipients=mail_recipients,
            )
            sys.exc_clear()
            time.sleep(60)
        log.info('%s, %s\tok: %d, failed: %d' % (
            baseurl, options.writer, ok_count, fail_count,
        ))
Esempio n. 7
0
def test_report():
    data = utils.report(system='system123', subject='subject123', foo='foo123')
    assert 'foo' in data
    assert 'foo123' in data
Esempio n. 8
0
def test_report():
    data = utils.report(system='system123', subject='subject123', foo='foo123')
    assert 'foo' in data
    assert 'foo123' in data