From 8d19d5e6be85422c4bb9252b0f829c8700df68b1 Mon Sep 17 00:00:00 2001 From: Vadim Melnik Date: Mon, 15 Jul 2024 14:50:40 +0300 Subject: [PATCH] Adjust time format for filenames??, #98 --- Parsing/parse_wQR.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/Parsing/parse_wQR.py b/Parsing/parse_wQR.py index fcd86555..704b1462 100755 --- a/Parsing/parse_wQR.py +++ b/Parsing/parse_wQR.py @@ -5,6 +5,7 @@ import os import re from datetime import datetime, timedelta +from re import match from typing import Optional from pydantic import BaseModel, Field @@ -69,21 +70,31 @@ def get_video_time_info(path_video: str) -> VideoTimeInfo: start_time=None, end_time=None) # Define the regex pattern for the timestamp and file extension # (either .mkv or .mp4) - pattern = (r'^(\d{4}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{3})' + pattern1 = (r'^(\d{4}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{3})' r'_(\d{4}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{3})\.(mkv|mp4)$') + # add support for new file format + pattern2 = (r'^(\d{4}\.\d{2}\.\d{2}\-\d{2}\.\d{2}\.\d{2}\.\d{3})' + r'\-\-(\d{4}\.\d{2}\.\d{2}\-\d{2}\.\d{2}\.\d{2}\.\d{3})\.(mkv|mp4)$') + file_name: str = os.path.basename(path_video) logger.info(f"Video file name : {file_name}") - match = re.match(pattern, file_name) - if not match: - res.error = "Filename does not match the required pattern." - return res - - start_ts, end_ts, extension = match.groups() + ts_format = "" + match1: str = re.match(pattern1, file_name) + if match1: + # Define the format for datetime parsing + ts_format = "%Y.%m.%d.%H.%M.%S.%f" + else: + match1 = re.match(pattern2, file_name) + if match1: + # Define the format for datetime parsing + ts_format = "%Y.%m.%d-%H.%M.%S.%f" + else: + res.error = "Filename does not match the required pattern." + return res - # Define the format for datetime parsing - ts_format = "%Y.%m.%d.%H.%M.%S.%f" + start_ts, end_ts, extension = match1.groups() try: # Parse the timestamps