123456789101112131415161718192021222324252627282930313233343536 |
- import datetime
- import re
- # 2023-05-16_11-45-00
- def parse_time(text: str):
- try:
- # extract date and time
- date, time = text.split("_")
- # extract year, month, day
- year, month, day = date.split("-")
- # extract hour, minute, second
- hour, minute, second = time.split("-")
- # create a native date
- return datetime.datetime(
- int(year), int(month), int(day), int(hour), int(minute), int(second)
- )
- except Exception:
- print("Error parsing time")
- print(text)
- return None
- # audio__bark__None__2023-05-16_11-45-00_long.wav
- # audio__tortoise__random__2023-05-31_14-19-13__n0.wav
- # Matches the time string in the filename and returns it
- def extract_time(filename: str):
- # only match the time string
- regex = r"([0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2})"
- matches = re.finditer(regex, filename, re.MULTILINE)
- for matchNum, match in enumerate(matches, start=1):
- return match.group(1)
- def extract_and_parse_time(filename: str):
- return parse_time(extract_time(filename))
|