示例#1
0
 def render(self, query_name, **kwargs):
     query = utility.get_template(query_name, self._sql_templates_path, 'sql')
     return query.render(kwargs)
        series_item = {'name': series_info['name'], 'data': series_data}
        series.append(series_item)
    return series

images = {}

def export_chart(chart_name, chart_data):
    global images
    chart_setting_path = os.path.join(TEMP_DIR, "%s.json" % chart_name)
    with open(chart_setting_path, 'w') as chart_setting_file:
        chart_setting_file.write(json.dumps(chart_data))
    chart_path = os.path.join(TEMP_DIR, '%s.jpg' % chart_name)
    export_cmd = 'export.cmd %s %s' % (chart_setting_path, chart_path)
    os.system(export_cmd)
    images[chart_name] = chart_path


helper = sql_helper.SqlHelper(CONNECTION_STR, args.report, REPORT_MAPPING['data'])
report_data = helper.fetch_all_data()
report_template = utility.get_template('report_template', REPORT_DIR, 'html')
report = report_template.render(**report_data)

for chart_name, chart in REPORT_MAPPING['charts'].iteritems():
    generate_x_data(chart)
    chart["series"] = generate_y_data(chart)
    export_chart(chart_name, chart)

utility.send_email(SMTP, USER, PWD, REPORT_NAME, FROM_EMAIL, TO_EMAIL, report, images)
print "Done"