63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
from datetime import datetime, UTC
|
|
|
|
import package.database as database
|
|
|
|
DB = None
|
|
|
|
def has_no_timezone(dt_string: str) -> bool:
|
|
try:
|
|
# fromisoformat parses standard formats like YYYY-MM-DD HH:MM:SS
|
|
dt = datetime.fromisoformat(dt_string)
|
|
|
|
# Check if tzinfo is completely missing OR if its offset is undefined
|
|
return dt.tzinfo is None or dt.tzinfo.utcoffset(dt) is None
|
|
except ValueError:
|
|
print(f"Error: '{dt_string}' is not a valid date-time string.")
|
|
return False
|
|
|
|
def fix_time():
|
|
chats = DB.get_vods()
|
|
#chats = DB.get_clips()
|
|
|
|
for chat in chats:
|
|
(
|
|
id,
|
|
title,
|
|
created_at,
|
|
view_count,
|
|
duration,
|
|
url,
|
|
thumbnail_url,
|
|
game_id,
|
|
game_name,
|
|
stream_id,
|
|
creator_name,
|
|
clip_is,
|
|
downloaded,
|
|
uploaded_yt,
|
|
uploaded_yt_chats,
|
|
uploaded_yt_shorts,
|
|
) = chat
|
|
|
|
if "T" in created_at:
|
|
date_string = created_at.replace("T", " ")
|
|
DB.update_datetime(id, date_string)
|
|
|
|
if has_no_timezone(created_at):
|
|
dt_with_utc = datetime.fromisoformat(created_at).replace(tzinfo=UTC)
|
|
date_string = dt_with_utc.isoformat().strftime('%Y-%m-%d %H:%M:%S %z')
|
|
DB.update_datetime(id, date_string)
|
|
|
|
print("====================================================")
|
|
print(f"✅ Processing: Times Fix.")
|
|
print("====================================================")
|
|
|
|
def main():
|
|
global DB
|
|
DB = database.Database()
|
|
|
|
fix_time()
|
|
|
|
if __name__ == "__main__":
|
|
main() |