From 16c77ef7653171c6ede1f582144986fc64a1c3d1 Mon Sep 17 00:00:00 2001 From: Bo-Chun Louis Chen <louistw@uab.edu> Date: Wed, 27 Mar 2024 11:31:47 -0500 Subject: [PATCH] Include fromisoformat for python 3.6 --- migrations/20240327_add_created_and_origin.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/migrations/20240327_add_created_and_origin.py b/migrations/20240327_add_created_and_origin.py index f9b6fa0..a20c8de 100644 --- a/migrations/20240327_add_created_and_origin.py +++ b/migrations/20240327_add_created_and_origin.py @@ -1,9 +1,18 @@ +import re import csv import dataset from datetime import datetime import rabbit_config as rcfg +def fromisoformat(date_string: str): + regex = re.compile( + r"(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})\.(\d{1,6})" + ) + mo = re.search(regex, date_string) + return datetime(*[int(m) for m in mo.groups()]) + + def upgrade(): db_path = rcfg.db_path db_name = "user_reg.db" @@ -25,13 +34,13 @@ def upgrade(): next(reader) for row in reader: if row[0] in users: - users[row[0]]["created"] = datetime.fromisoformat(row[1][:-3]) + users[row[0]]["created"] = fromisoformat(row[1][:-3]) users[row[0]]["origin"] = row[2] # Add copy created column from last_update if they are not in csv file for username in users: if "created" not in users[username]: - users[username]["created"] = datetime.fromisoformat( + users[username]["created"] = fromisoformat( users[username]["last_update"] ) users[username]["origin"] = "last_update" -- GitLab