48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
""" Test report """
|
|
import logging
|
|
import sys
|
|
|
|
from mylib.report import Report
|
|
from mylib.scripts.helpers import get_opts_parser, add_email_opts
|
|
from mylib.scripts.helpers import init_logging, init_email_client
|
|
|
|
|
|
log = logging.getLogger('mylib.scripts.report_test')
|
|
|
|
def main(argv=None): #pylint: disable=too-many-locals,too-many-statements
|
|
""" Script main """
|
|
if argv is None:
|
|
argv = sys.argv[1:]
|
|
|
|
# Options parser
|
|
parser = get_opts_parser(just_try=True)
|
|
add_email_opts(parser)
|
|
|
|
report_opts = parser.add_argument_group('Report options')
|
|
|
|
report_opts.add_argument(
|
|
'-t', '--to',
|
|
action="store",
|
|
type=str,
|
|
dest="report_rcpt",
|
|
help="Send report to this email"
|
|
)
|
|
|
|
options = parser.parse_args()
|
|
|
|
if not options.report_rcpt:
|
|
parser.error("You must specify a report recipient using -t/--to parameter")
|
|
|
|
# Initialize logs
|
|
report = Report(rcpt_to=options.report_rcpt, subject='Test report')
|
|
init_logging(options, 'Test Report', report=report)
|
|
|
|
email_client = init_email_client(options)
|
|
report.send_at_exit(email_client=email_client)
|
|
|
|
logging.debug('Test debug message')
|
|
logging.info('Test info message')
|
|
logging.warning('Test warning message')
|
|
logging.error('Test error message')
|