Beispiel #1
0
def transform(rows):
    """
    Yields modified row for each input row.

    Data is sanitized and less important columns are merged into single memo
    column.
    """
    yield kmyimport.get_output_header()
    for index, row in enumerate(rows):
        newrow = []
        for col in range(len(kmyimport.Columns) - 1):
            if col in KMY2MBD:
                mbdcol = KMY2MBD[col]
                data = kmyimport.data_sanitize(row[mbdcol],
                                               is_column_amount(mbdcol))
                if index > 0 and col == MBDColumns.DATE.value:
                    data = re.sub(r'\.', ' ', data)
            else:
                data = ""
            newrow.append(data)
        if index == 0:
            column_names = row
            continue
        newrow.append(
            kmyimport.get_memo_column(column_names, row, MEMO_PRIORITY_COLUMNS,
                                      PRIORITY_COLUMNS, is_column_amount))
        yield merge_columns(newrow, row)
Beispiel #2
0
def merge_columns(row, original):
    """Return row filled with data from alternative columns."""
    for dest, src in []:
        if row[dest]:
            continue
        data = kmyimport.data_sanitize(original[src], is_column_amount(src))
        if not data:
            continue
        row = row[:dest] + [data] + row[dest + 1:]
    return row
Beispiel #3
0
def transform(rows):
    """
    Yields modified row for each input row.

    Data is sanitized and less important columns are merged into single memo
    column.
    """
    yield kmyimport.get_output_header()
    for index, row in enumerate(rows):
        newrow = []
        for col in PRIORITY_COLUMNS:
            data = kmyimport.data_sanitize(row[col], is_column_amount(col))
            if index > 0 and col == EntropayColumns.DATE.value:
                data = transform_date(data)
            newrow.append(data)
        if index == 0:
            column_names = row
            continue
        newrow.append(kmyimport.get_memo_column(
            column_names, row,
            MEMO_PRIORITY_COLUMNS, PRIORITY_COLUMNS, is_column_amount))
        yield merge_columns(newrow, row)