datetime overhaul
This commit is contained in:
		
							parent
							
								
									f721c936e8
								
							
						
					
					
						commit
						31344d9f15
					
				@ -10,7 +10,7 @@ import sqlite3
 | 
			
		||||
import csv
 | 
			
		||||
import argparse
 | 
			
		||||
import sys
 | 
			
		||||
from datetime import datetime, timedelta
 | 
			
		||||
from datetime import datetime, timezone
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
from typing import Tuple, Optional, Dict, Any, List
 | 
			
		||||
 | 
			
		||||
@ -132,14 +132,14 @@ def validate_timestamp(unix_microseconds: int, browser_type: str) -> None:
 | 
			
		||||
    max_seconds = max_date.timestamp()
 | 
			
		||||
    
 | 
			
		||||
    if timestamp_seconds < min_seconds:
 | 
			
		||||
        dt = datetime.utcfromtimestamp(timestamp_seconds)
 | 
			
		||||
        dt = datetime.fromtimestamp(timestamp_seconds, tz=timezone.utc)
 | 
			
		||||
        raise TimestampValidationError(
 | 
			
		||||
            f"Timestamp appears too old: {dt.strftime('%Y-%m-%d %H:%M:%S')} (before 1990). "
 | 
			
		||||
            f"This may indicate a timestamp conversion error for {browser_type}."
 | 
			
		||||
        )
 | 
			
		||||
    
 | 
			
		||||
    if timestamp_seconds > max_seconds:
 | 
			
		||||
        dt = datetime.utcfromtimestamp(timestamp_seconds)
 | 
			
		||||
        dt = datetime.fromtimestamp(timestamp_seconds, tz=timezone.utc)
 | 
			
		||||
        raise TimestampValidationError(
 | 
			
		||||
            f"Timestamp appears to be in the future: {dt.strftime('%Y-%m-%d %H:%M:%S')} (after 2040). "
 | 
			
		||||
            f"This may indicate a timestamp conversion error for {browser_type}."
 | 
			
		||||
@ -165,7 +165,7 @@ def convert_gecko_timestamp(gecko_timestamp: Optional[int]) -> Tuple[int, str]:
 | 
			
		||||
    
 | 
			
		||||
    # Convert microseconds to seconds
 | 
			
		||||
    timestamp_seconds = gecko_timestamp / 1000000
 | 
			
		||||
    dt = datetime.utcfromtimestamp(timestamp_seconds)
 | 
			
		||||
    dt = datetime.fromtimestamp(timestamp_seconds, tz=timezone.utc)
 | 
			
		||||
    return gecko_timestamp, dt.strftime('%Y-%m-%dT%H:%M:%S+00:00')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -197,7 +197,7 @@ def convert_chromium_timestamp(chromium_timestamp: Optional[int]) -> Tuple[int,
 | 
			
		||||
    # Validate
 | 
			
		||||
    validate_timestamp(unix_microseconds, "Chromium")
 | 
			
		||||
    
 | 
			
		||||
    dt = datetime.utcfromtimestamp(timestamp_seconds)
 | 
			
		||||
    dt = datetime.fromtimestamp(timestamp_seconds, tz=timezone.utc)
 | 
			
		||||
    return unix_microseconds, dt.strftime('%Y-%m-%dT%H:%M:%S+00:00')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -229,7 +229,7 @@ def convert_webkit_timestamp(webkit_timestamp: Optional[float]) -> Tuple[int, st
 | 
			
		||||
    # Validate
 | 
			
		||||
    validate_timestamp(unix_microseconds, "WebKit/Safari")
 | 
			
		||||
    
 | 
			
		||||
    dt = datetime.utcfromtimestamp(timestamp_seconds)
 | 
			
		||||
    dt = datetime.fromtimestamp(timestamp_seconds, tz=timezone.utc)
 | 
			
		||||
    return unix_microseconds, dt.strftime('%Y-%m-%dT%H:%M:%S+00:00')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user