config = dict() def time_execute(t0): t1 = int(time.time() - int(t0)) h = t1 // 3600 m = (t1 // 60) % 60 s = t1 % 60 return (f"{h:02d}:{m:02d}:{s:02d}") # Press the green button in the gutter to run the script. if __name__ == '__main__': t0 = time.time() bar = IncrementalBar('Countdown', max=3) report = DIT_report('2021-04-01', '2021-04-20', 'config/config_ditrep.xml', args.output) print(report.date_start, report.date_end) query = 'SELECT phone FROM proxy_user_ban' # config = report.get_config_db_data('tmpl',) # print(config) # config = report.get_connection_data('tmpl') # config['query'] = query # print(config) # phones = report.call_select(**config) report.set_db(prefix='tmpl') phones = report.get_db().call_select(query) print(len(phones)) bar.next() phones_in_ban = set(phone[0] for phone in phones) '''
parser.add_argument("--verbose", default=True, help="Set dublicate output to stdout") args = parser.parse_args() config = dict() logfile = 'covid_maker.log' logger = Logger(logfile) #logger.set_param('covid_maker.log') conn = args.connection # Press the green button in the gutter to run the script. if __name__ == '__main__': #args.date_start, args.date_end = ('2021-06-01','2021-06-02') t0 = timer.get_time() report = DIT_report(args.date_start, args.date_end, args.config, args.output, args.contract) report.tunnels.start() #tunnel_cfg = report.get_config_db('sshtunnel') #список шаблонов query = "SELECT message_template_id FROM message_template_tag WHERE tag_id=(select id from tag where text = %s ) ORDER BY message_template_id;" logger.log(f"Query: {query}, {args.contract}", 'INFO', args.verbose) report.set_db('postgres', 'tmpl') tmpl_list = [ i[0] for i in report.get_db().call_select(query, args.contract) ] logger.log(f"Result: {tmpl_list}", 'INFO', args.verbose) # Получаем списки UUID сообщений с нужными шаблонами date_list = report.get_time_period('10min') print(date_list)
args = parser.parse_args() config = dict() logfile = '7757.log' logger = Logger(logfile) #logger.set_param('covid_maker.log') #conn = args.connection # Press the green button in the gutter to run the script. if __name__ == '__main__': args.date_start, args.date_end = ('2021-05-01', '2021-06-17') args.output = './report' t0 = timer.get_time() report = DIT_report(args.date_start, args.date_end, args.config, args.output, args.contract) query = f"SELECT day,sender,template_id,count(1) AS msg FROM new_message WHERE sender='7757' AND " \ f"day>='{args.date_start}' AND day<'{args.date_end}' AND status!=6 " \ f"GROUP BY day,sender,template_id ORDER BY day,sender,msg" print(query) query = "select day,receiver,count(1) as msgs from new_message WHERE sender='7757' AND day>='2021-06-05' AND day<'2021-06-17' AND status!=6 AND template_id=480 group by day,receiver order by day,receiver,msgs;" report.tunnels.start() report.set_db('postgres', 'mapi') rows = report.get_db().call_select(query) print(rows[0]) filepath = f"{report.get_output_dir()}/7757_tmpl_report_num.csv" print(filepath) file = File(filepath, 'csv') file.csv_save(['receiver', 'count of msgs'], rows)
from classes.ditreport import DIT_report parser = argparse.ArgumentParser(description='A tutorial of argparse!') parser.add_argument("--date_start", default=f"{datetime.date.today().year:04d}-{datetime.date.today().month:02d}-01", help="Set start date, example 2020-01-01. ") parser.add_argument("--date_end", default=f"{datetime.date.today().year:04d}-{datetime.date.today().month:02d}-01", help="Set end date, example 2020-01-01. ") parser.add_argument("--config", default=None, help="Set path to config file") parser.add_argument("--output", default=None, help="Set path to output file") args = parser.parse_args() config = dict() # Press the green button in the gutter to run the script. if __name__ == '__main__': args.config = 'config/config_ditrep.xml' report = DIT_report(args.date_start,args.date_end,args.config,args.output) '''query = report.get_tmpl_query('covid') tmpl_ids = report.get_used_tmpl_list(query,'tmpl') #print(tmpl_ids) msgs_uuid = report.get_uuid_messages_with_tmpls(tmpl_ids,'mapi', None, report.date_start,report.date_end) query_list = report.get_list_queries_for_tgw(msgs_uuid) query_file = 'report/query_file.txt' with open (query_file, 'w') as qf: qf.write(str(query_list)) report.get_all_messages(query_list) report.create_single_out_file() file_list = report.create_report_files()''' #query = report.get_tmpl_query('covid')
parser.add_argument("--config", default=None, help="Set path to config file") parser.add_argument("--output", default=None, help="Set path to output file") args = parser.parse_args() config = dict() def in_delta(day, point_time, item_time): if '.' in item_time: line_time = datetime.strptime(f'{day} {item_time}', '%Y-%m-%d %H:%M:%S.%f') else: line_time = datetime.strptime(f'{day} {item_time}', '%Y-%m-%d %H:%M:%S') # Press the green button in the gutter to run the script. if __name__ == '__main__': args.config = 'config/config_ditrep.xml' report = DIT_report(args.date_start,args.date_end,args.config,args.output) date_start = '2021-04-01' date_end = '2021-04-12' day='2021-04-19' conn='mts' file_log=f'/opt/apps/tgw_mobilizer/conn-{conn}/logs/sads_smpp.log.{day}' err_dlvr_code='10100' query = f"SELECT created,updated,oa,da,resource_id FROM mt_result WHERE err_dlvr_code='{err_dlvr_code}' AND conn='{conn}' AND day='{day}' AND created=updated ORDER BY day,created" report.get_db().set_typedb('click') report.set_db('click','click') #print('c:', report.get_db().get_typedb(),report.get_db().get_config()) rows = report.get_db().call_select(query) resource_ids = [item[4] for item in rows]
help="Set start date, example 2020-01-01. ") parser.add_argument( "--date_end", default= f"{datetime.date.today().year:04d}-{datetime.date.today().month:02d}-01", help="Set end date, example 2020-01-01. ") parser.add_argument("--config", default=None, help="Set path to config file") parser.add_argument("--output", default=None, help="Set path to output file") args = parser.parse_args() config = dict() # Press the green button in the gutter to run the script. if __name__ == '__main__': report = DIT_report(args.date_start, args.date_end, args.config, args.output) '''query = report.get_tmpl_query('covid') tmpl_ids = report.get_used_tmpl_list(query,'tmpl') print(tmpl_ids) msgs_uuid = report.get_uuid_messages_with_tmpls(tmpl_ids,'mapi', None, report.date_start,report.date_end) query_list = report.get_list_queries_for_tgw(msgs_uuid) query_file = 'report/query_file.txt' with open (query_file, 'w') as qf: qf.write(str(query_list)) report.get_all_messages(query_list) report.create_single_out_file() file_list = report.create_report_files()''' query = report.get_tmpl_query('covid') tmpl_ids = report.get_used_tmpl_list(query, 'tmpl')
help="Set type traff:mt,mo or all. ") parser.add_argument("--config", default="./config/config_ditrep.xml", help="Set path to config file") parser.add_argument("--output", default="./report/", help="Set path to output file") parser.add_argument("--summary_field", default="segs_submitted_ok", help="Set summary field. By default = segs_submitted_ok") args = parser.parse_args() # Press the green button in the gutter to run the script. if __name__ == '__main__': print(args) report = DIT_report(args.date_start, args.date_start, args.config, args.output, args.contract, args.summary_field) report.set_db('postgres', 'tgw') print(report.get_db().get_config()) query_data = dict() if args.contract == '7757': query_data['mt'] = f"SELECT conn, da, oa, submitted, updated, {args.summary_field}, segs_total FROM mt WHERE oa='{args.contract}' AND " \ f"(submitted>='{date_start}' AND submitted<'{date_end}') AND conn not in ('testconn','tgwnew') " \ f"ORDER BY submitted" query_data['mo'] = f"SELECT conn, substring(da from '\d+') as number, oa, submitted, segs_calculated FROM mo " \ f"WHERE substring(da from '\d+')='{args.contract}' " \ f"AND (submitted >= '{date_start}' AND submitted <'{date_end}') AND " \ f"conn not in ('testconn', 'tgwnew',' msag2', 'other', 'emp') " \ f"ORDER BY submitted;" if args.contract == 'DIT': query_data['mt'] = f"SELECT conn, da, oa, submitted, updated, {args.summary_field} FROM mt WHERE oa='{args.contract}' AND " \ f"(submitted>='{date_start}' AND submitted<'{date_end}') AND conn not in ('testconn','tgwnew') " \
if args.contract_start: if Date().convert_str_to_datetime(args.date_start).timestamp()<Date().convert_str_to_datetime(args.contract_start).timestamp(): logger.log('Contract not started yet. Exit.') exit(0) else: args.date_start = args.contract_start if args.contract_end: if Date().convert_str_to_datetime(args.date_end).timestamp()>Date().convert_str_to_datetime(args.contract_end).timestamp(): logger.log('Contract finished yerly. Exit.') exit(0) elif args.date_end[:-3] < args.contract_end[:-3]: args.date_end = args.date_end else: args.date_end = args.contract_end t0 = timer.get_time() report = DIT_report(args.date_start,args.date_end,args.config,args.output,args.contract) report.set_db('postgres','tgw') query = "SELECT day, conn, sum(segs_submitted) AS submitted, sum(segs_delivered) AS delivered, " \ "sum(segs_total) AS total, status FROM mt_result WHERE day>='2021-06-01' AND day< '2021-06-02' AND " \ "conn NOT IN ('tgwnew') AND contract='covid' GROUP BY day,conn,status ORDER BY day,conn,status;" row_data = report.get_stat_by_contract_tag(args.connection) # get_stat_by_contract_tag(('tgwnew','testconn')) # по суточно data = report.get_parsered_stat_by_contract_tag(row_data) # агрегировано по оперторам agregated = report.get_agregated_stat_by_contract_tag(data) month_date =args.date_start[:-3] file = f'{report.get_output_dir()}/{args.contract}_{month_date}.xlsx' if args.contract_start: file = f'{report.get_output_dir()}/{args.contract}_contract_{args.contract_number}_{month_date}.xlsx' xlsx = FileXLSX(file, 'xlsx')
default=f"{today.year:04d}-{today.month:02d}-{today.day:02d}", help="Set end date, example 2020-01-01. ") parser.add_argument("--config", default=None, help="Set path to config file") parser.add_argument("--output", default=None, help="Set path to output file") args = parser.parse_args() config = dict() # Press the green button in the gutter to run the script. if __name__ == '__main__': date_list = Date().get_date_list(args.date_start, args.date_end) for item in date_list: report = DIT_report(item['date_start'], item['date_end'], args.config, args.output) query = report.get_tmpl_query('covid') tmpl_ids = report.get_used_tmpl_list(query, 'tmpl') msgs_uuid = report.get_uuid_messages_with_tmpls( tmpl_ids, 'mapi', None, report.date_start, report.date_end) max = 200000 list_of_list_msgs_uuid = report.chunk_using_generators(msgs_uuid, max) for uuids in list_of_list_msgs_uuid: result = report.insert_data_to_agregated_table(uuids, 'tgw') if not result: print('Data not added!') break print("Completed!")