Example #1
0
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)
Example #3
0
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)
Example #4
0
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')
Example #5
0
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]
Example #6
0
    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')
Example #7
0
                    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') " \
Example #8
0
    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')
Example #9
0
    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!")