import sys import getcid as gcid import getmid as gmid def exportList(cid, list_id): sql_str = ''' select email from l%s_subscriber into outfile '%s' ''' list_conn = mdb.get_list_conn(cid) mdb.exe_sql(list_conn, sql_str % (list_id, filename), False, True) if __name__ == '__main__': if len(sys.argv) == 2: if sys.argv[1] == '-h': print("Export List\nUsage: python %s list_id" % sys.argv[0]) sys.exit() list_id = sys.argv[1] mid = gmid.getmid(list_id) cid = gcid.getcid(mid) filename = "/tmp/%s.txt" % list_id exportList(cid, list_id) else: print("Export List\nUsage: python %s list_id" % sys.argv[0]) sys.exit()
group by %s order by count(0) ''' # print get_data % (cid, mid, cid, mid, domain, group) bounce_conn = mdb.get_bounce_conn(cid); datas = mdb.exe_sql(bounce_conn, get_data % (cid, mid, cid, mid, domain, group), False, True) # display(['msg','real_from','from_ip','from_inner_ip','to_ip','error','count'], datas, ["c","c", "c", "c", "c", "l", "c"]) display(['msg','rfrom','wip','lip','toip','error','count'], datas, ["c","c", "c", "c", "c", "l", "c"]) if __name__ == '__main__': if len(sys.argv) < 3 : print("查询一封邮件特定域的错误信息\nUsage: python %s message_id domain [error_type] [list_id] " % sys.argv[0]); sys.exit() message_id = sys.argv[1] client_id = gcid.getcid(int(message_id)) domain = sys.argv[2] if len(sys.argv) == 4 : group = sys.argv[3] if sys.argv[3] == 'real_from': group = 'substring(h.real_from,instr(h.real_from,"@")+1)' else : group = 'error' if len(sys.argv) == 5: list_id = sys.argv[4] get_bounceinfo(client_id, message_id, domain, group, list_id) else : get_bounceinfo(client_id, message_id, domain, group)
sql = ''' select url_id, value from track_url t where t.message_id = %s limit 1 ''' global_conn = mdb.get_global_conn() data = mdb.exe_sql(global_conn, sql % (mid), True, True) return data[0] def src_dist_ho_ct(mid): sql = '''select message_id, message_name, client_id, end_time, total_count, send_count, successful_count, softbounce_count, hardbounce_count, unstart_count, html_opens, dist_opens, url_clicks, dist_url_clicks from message m where m.message_id = %s''' global_conn = mdb.get_global_conn() data = mdb.exe_sql(global_conn, sql % (mid), True, True) return data[0] if __name__ == '__main__': if len(sys.argv) == 7 : cid = gcid.getcid(int(sys.argv[1])) mid = sys.argv[1] ho_file = "%s/%s_ho.txt" % (file_dir, mid) ct_file = "%s/%s_ct.txt" % (file_dir, mid) if os.path.isfile(ho_file) and os.path.isfile(ct_file): insert_to_hoct(cid, ho_file, ct_file) sys.exit() action_time = sys.argv[2] ho_dist_num = sys.argv[3] ho_num = sys.argv[4] ct_dist_num = sys.argv[5] ct_num = sys.argv[6] else : if sys.argv[1] == '-h': print("插入ho、ct数据\nUsage: python %s mid action_time ho_dist_num ho_num ct_dist_num ct_num" % sys.argv[0]); sys.exit()
if test : sql = get_test_data % (mid) global_conn = mdb.get_global_conn() datas = mdb.exe_sql(global_conn, sql, True, True) else : sql = get_data % (cid, mid, email) bounce_conn = mdb.get_bounce_conn(cid); datas = mdb.exe_sql(bounce_conn, sql, True, True) # print datas for data in datas: for key,values in data.iteritems(): print '%-20s %s' %(key, values) print '-'*50 if __name__ == '__main__': if len(sys.argv) == 2 : if sys.argv[1] == '-h': print("查询一个邮件地址(测试)的发送情况\nUsage: python %s message_id email_address [test] " % sys.argv[0]); sys.exit() get_bounceinfo(gcid.getcid(int(sys.argv[1])), sys.argv[1], None, True) elif len(sys.argv) == 3 : get_bounceinfo(gcid.getcid(int(sys.argv[1])), sys.argv[1], sys.argv[2], False) elif len(sys.argv) == 4 and sys.argv[3] == 'test' : get_bounceinfo(1, sys.argv[1], sys.argv[2], True) else : print("查询一个邮件地址(测试)的发送情况\nUsage: python %s message_id email_address [test] " % sys.argv[0]); sys.exit()
# report_conn = mdb.get_report_conn(d_cid) # report_conn = MySQLdb.connect( host='10.10.11.202', user='******', passwd='EpCAre!@#', db='reportDB_new' ) reportdb = grid.get_report_conn(d_cid) report_conn = MySQLdb.connect( host= mdb_ip, user= mdb_user, passwd= mdb_pass, db=reportdb ,charset='utf8') cursor = report_conn.cursor() # reportdb = 'reportDB_new' print insert_ho_sql % (d_cid, d_mid, reportdb, s_cid, s_mid) print insert_ct_sql % (d_cid, d_mid, reportdb, s_cid, s_mid) cursor.execute(insert_ho_sql % (d_cid, d_mid, reportdb, s_cid, s_mid)) cursor.execute(insert_ct_sql % (d_cid, d_mid, reportdb, s_cid, s_mid)) report_conn.commit() cursor.close() report_conn.close() # mdb.exe_insert_sql(report_conn, insert_ho_sql % (d_cid, d_mid, reportdb, s_cid, s_mid), True, True) # mdb.exe_insert_sql(report_conn, insert_ct_sql % (d_cid, d_mid, reportdb, s_cid, s_mid), True, True) if __name__ == '__main__': if len(sys.argv) == 3 : if sys.argv[1] == '-h': print("合并报表\nUsage: python %s dest_message_id src_message_id" % sys.argv[0]); sys.exit() d_cid = gcid.getcid(int(sys.argv[1])) d_mid = sys.argv[1] s_cid = gcid.getcid(int(sys.argv[2])) s_mid = sys.argv[2] merge_ho_ct(d_cid, d_mid, s_cid, s_mid) else : print("合并报表\nUsage: python %s dest_message_id src_message_id" % sys.argv[0]); sys.exit()