38 lines
1.0 KiB
Python

import sqlite3
from datetime import datetime
from typing import List, Tuple
def fetch_logs() -> List[Tuple[int, str]]:
conn = sqlite3.connect("activity_log.db")
cursor = conn.cursor()
cursor.execute("SELECT id, timestamp FROM activity_log ORDER BY id ASC")
logs = cursor.fetchall()
conn.close()
return logs
def filter_logs_by_hour(logs: List[Tuple[int, str]]) -> List[Tuple[int, str]]:
filtered_logs = []
last_log_time = None
for log_id, timestamp in logs:
log_time = datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
if last_log_time is None or (log_time - last_log_time).seconds >= 3600:
filtered_logs.append((log_id, timestamp))
last_log_time = log_time
return filtered_logs
def display_logs() -> None:
logs = fetch_logs()
if not logs:
print("No logs found.")
return
filtered_logs = filter_logs_by_hour(logs)
for log_id, timestamp in filtered_logs:
print(f"ID: {log_id}, Timestamp: {timestamp}")
if __name__ == "__main__":
display_logs()