Пример #1
0
def check_balance_status_SV_FP():
    """  получение баланса и статуса карточки в форпост и в смартвиста """
    if my_xml.xml_read(STATUS_XML_FILE) and my_xml.xml_read(BALANCE_XML_FILE):
        cards_table = PrettyTable()
        cards_table.field_names = [
            "card", "accaunt", "contract", "Fp", "SV", "SV_balance",
            "Fp_balance"
        ]
        cards_list = get_Fp_card_balance()
        for card_number in cards_list:
            card_status = _get_SV_card_status(card_number)
            card_balance = _get_SV_card_balance(card_number)
            cards_table.add_row([
                card_number, cards_list[card_number][0],
                cards_list[card_number][2], cards_list[card_number][1],
                card_status, card_balance, cards_list[card_number][3]
            ])
        print(cards_table)
        log.info("check_balance_status_SV_FP() is done")
def request():
    """  создание соединения и отправка сигнала для создания предзаявки """
    start_time = time.time()
    xml = xml_read('xml_requests/Prerequest.xml')
    if xml is not False:
        url = _create_url_for_request()
        count = _input_count_of_request()
        for i in range(count):
            prerequest = xml_request(url, xml)
            print(f"Заявка: {i + 1} - {prerequest.split()[4].lstrip('<RequestId>').rstrip('</RequestId>')}")
        print(f"Время создания {i + 1} предзаявок составило: {time.time() - start_time}")
Пример #3
0
def _get_SV_card_balance(card_number):
    """
    Ф-я отправки запроса в СВ и получения баланса карточки
    :return: баланс карточки
    """
    tree_status = et.parse(BALANCE_XML_FILE)
    my_xml.xml_replace(tree_status, './/parameter[@name="2"]', card_number,
                       BALANCE_XML_FILE)
    xml = my_xml.xml_read(BALANCE_XML_FILE)
    response_sv = my_xml.xml_request(URL, xml).split()[-5]  # баланс карточки
    start_pos_balance = response_sv.find('name="4"') + len('name="4">')
    end_pos_balance = response_sv.find('</param')
    card_balance = int(response_sv[start_pos_balance:end_pos_balance]) / 100
    # log.info(f"SV_balance: {card_balance}")
    return card_balance
Пример #4
0
def _get_SV_card_status(card_number):
    """
    Ф-я отправки запроса в СВ и получения статуса карточки
    :return: статус карточки
    """
    tree_status = et.parse(STATUS_XML_FILE)
    my_xml.xml_replace(tree_status, './/parameter[@name="cardNo"]',
                       card_number, STATUS_XML_FILE)
    xml = my_xml.xml_read(STATUS_XML_FILE)
    response_sv = my_xml.xml_request(URL, xml).split()[7]
    start_pos_status = response_sv.find('statusCode">') + len('statusCode">')
    end_pos_status = response_sv.find('</param')
    card_status = response_sv[start_pos_status:end_pos_status]
    # log.info(f"SV_status: {card_status}")
    return '-' if card_status == '' else card_status
Пример #5
0
def send_coy_request():
    """  создание соединения, отправка запроса и вывод результата ответа """
    __create_xml_coy()
    url = __get_url_coy()
    xml = my_xml.xml_read(XML_FILE)
    response = my_xml.xml_request_coy(url, xml)
    print(response)
    # user_parameters = parse_response_coy(response)
    # user_table = PrettyTable()
    # column_names = ["Параметр", "Значение"]
    # user_table.add_column(column_names[0], ["Id", "FIO", "Address", "Phone", "Email", "DateOfBirth", "Sex", "BankId",
    #                                         "PersonalNo", "Document", "Options"])
    # second_column = []
    # for i in user_parameters:
    #     second_column.append(i)
    # user_table.add_column(column_names[1], second_column)
    # print(user_table)
    log.info("Вывели инфу о клиенте")
    return response
Пример #6
0
def check_status_SV():
    """  Вывод на экран карточек и их параметров """
    if my_xml.xml_read(STATUS_XML_FILE):
        cards_table = PrettyTable()
        cards_table.field_names = [
            "card", "accaunt", "contract", "Fp", "SV_st", "SV_bal"
        ]
        cards_list = get_users_cards()
        for card_number in cards_list:
            card_status = _get_SV_card_status(card_number)
            card_balance = _get_SV_card_balance(card_number)
            log.info(
                f"Получили статус {card_status} и баланс {card_balance} для карточки: "
                + card_number)
            cards_list[card_number].append(card_status)
            cards_table.add_row([
                card_number, cards_list[card_number][0],
                cards_list[card_number][2], cards_list[card_number][1],
                card_status, card_balance
            ])
        print(cards_table)
        log.info("check_status_SV() is done")