script/utils/parse_timecode.py
author ymh <ymh.work@gmail.com>
Tue, 22 Oct 2024 10:01:10 +0200
changeset 1569 455bdfbdd320
parent 1542 82b5f22448f6
permissions -rw-r--r--
upgrade metadataplayer

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)