import csv
import re
from pathlib import Path


def convert_dir(path):
    source_path = Path(path)
    target_path = source_path.parent.joinpath('staging')

    for source_file in source_path.glob('*.csv'):
        print(source_file.name)
        target_file = target_path / source_file.name
        convert_file(source_file, target_file)


def convert_file(source, target):
    with open(source, 'r', encoding='utf-8', newline='') as frh:
        with open(target, 'w', encoding='latin-1', newline='') as fwh:
            csv_reader = csv.reader(frh, delimiter=';')
            csv_writer = csv.writer(fwh, delimiter='\t')
            for row in csv_reader:
                converted = [convert_field(col) for col in row]
                csv_writer.writerow(converted)


def convert_field(col):
    if re.match(r'\d:\d\d:\d\d', col):
        col = '0' + col
    return col


def main():
    convert_dir('E:\\GEBOS\\data')


if __name__ == '__main__':
    main()
