예제 #1
0
def create_test_ebcdic_ipm_file():
    message_raw = _convert_text_asc2eb(b("1144")) + \
        b("\xF0\x10\x05\x42\x84\x61\x80\x02\x02\x00\x00\x04"
          "\x00\x00\x00\x00") + \
        _convert_text_asc2eb(b(
            "164444555544445555111111000000009999201508"
            "151715123456789012333123423579957991200000"
            "012306120612345612345657994211111111145BIG"
            " BOBS\\70 FERNDALE ST\\ANNERLEY\\4103  QLD"
            "AUS0080001001Y9990160000000000000001123456"
            "7806999999")
        )
    # add 5 records to a list
    message_list = [message_raw for x in range(5)]
    block_and_write_list(message_list, TEST_EBCDIC_IPM_FILENAME)
예제 #2
0
    def test_get_message_elements_ebcdic(self):
        message_raw = (_convert_text_asc2eb(b("1144")) +
                       b("\xF0\x10\x05\x42\x84\x61\x80\x02\x02\x00\x00\x04") +
                       b("\x00\x00\x00\x00") + _convert_text_asc2eb(
                           b("164444555544445555111111000000009999201508"
                             "151715123456789012333123423579957991200000"
                             "012306120612345612345657994211111111145BIG"
                             " BOBS\\70 FERNDALE ST\\ANNERLEY\\4103  QLD"
                             "AUS0080001001Y9990160000000000000001123456"
                             "7806999999")))
        message_elements = mciutil.get_message_elements(
            message_raw, CONFIG['data_elements'], 'ebcdic')

        # print message_elements
        self.assertEqual(message_elements["DE2"], b"444455*******555")
        self.assertEqual(message_elements["DE3"], b"111111")
        self.assertEqual(message_elements["DE4"], b"000000009999")
예제 #3
0
def create_test_ebcdic_ipm_file():
    message_raw = (
        _convert_text_asc2eb(b("1144"))
        + b("\xF0\x10\x05\x42\x84\x61\x80\x02\x02\x00\x00\x04" "\x00\x00\x00\x00")
        + _convert_text_asc2eb(
            b(
                "164444555544445555111111000000009999201508"
                "151715123456789012333123423579957991200000"
                "012306120612345612345657994211111111145BIG"
                " BOBS\\70 FERNDALE ST\\ANNERLEY\\4103  QLD"
                "AUS0080001001Y9990160000000000000001123456"
                "7806999999"
            )
        )
    )
    # add 5 records to a list
    message_list = [message_raw for x in range(5)]
    block_and_write_list(message_list, TEST_EBCDIC_IPM_FILENAME)
예제 #4
0
    def test_get_message_elements_ebcdic(self):
        message_raw = (
            _convert_text_asc2eb(b("1144"))
            + b("\xF0\x10\x05\x42\x84\x61\x80\x02\x02\x00\x00\x04")
            + b("\x00\x00\x00\x00")
            + _convert_text_asc2eb(
                b(
                    "164444555544445555111111000000009999201508"
                    "151715123456789012333123423579957991200000"
                    "012306120612345612345657994211111111145BIG"
                    " BOBS\\70 FERNDALE ST\\ANNERLEY\\4103  QLD"
                    "AUS0080001001Y9990160000000000000001123456"
                    "7806999999"
                )
            )
        )
        message_elements = mciutil.get_message_elements(message_raw, CONFIG["data_elements"], "ebcdic")

        # print message_elements
        self.assertEqual(message_elements["DE2"], b"444455*******555")
        self.assertEqual(message_elements["DE3"], b"111111")
        self.assertEqual(message_elements["DE4"], b"000000009999")
예제 #5
0
def _convert(record, source_format):
    """
    Convert record between encoding scheme

    :param record: data to be converted
    :param source_format: ebcdic or ascii
    :return: converted record
    """
    # convert data
    if source_format == "ebcdic":
        record = _convert_text_eb2asc(record)
    else:
        record = _convert_text_asc2eb(record)
    return record