script/utils/parse_timecode.py
author ymh <ymh.work@gmail.com>
Wed, 18 Dec 2024 15:24:41 +0100
changeset 1584 257c14dae52a
parent 1542 82b5f22448f6
permissions -rw-r--r--
Added tag V09.006 for changeset 459a88818bec

import csv
import re
import math

TC_RE = re.compile("(\d{2}) (\d{2}) (\d{2}) ?, ?(\d{2})")

def conver_tc(tc_str):
    m = TC_RE.match(tc_str)
    if not m:
        return math.inf
    return int(m.group(1))*3600000 + int(m.group(2))*60000 + int(m.group(3)) * 1000 + int(m.group(4)) * 10

if __name__ == "__main__":
    with open('timecodes_webinaire_fcpe.csv') as csvfilein, \
        open('timecodes_webinaire_fcpe_out.csv', 'w') as csvfileout:
        chap_reader = csv.DictReader(csvfilein, delimiter=';')
        chap_writer = csv.DictWriter(csvfileout, fieldnames=chap_reader.fieldnames, delimiter=';')

        chap_writer.writeheader()
        for row in chap_reader:
            if not row['START']:
                next
            row['START'] = conver_tc(row['START'])
            row['END'] = conver_tc(row['END'])
            chap_writer.writerow(row)