import os
import pandas as pd
from datetime import datetime

def format_timestamp(timestamp):
    try:
        return datetime.strptime(timestamp, "%m/%d/%Y %H:%M").strftime("%Y-%m-%d %H:%M:%S")
    except ValueError:
        return datetime.strptime(timestamp, "%m/%d/%Y %H:%M:%S").strftime("%Y-%m-%d %H:%M:%S")

def process_files(directory):
    start_date = datetime(2024, 10, 17)
    end_date = datetime(2024, 10, 17)
    
    for filename in os.listdir(directory):
        if filename.startswith("optionChain_$SPX_") and filename.endswith(".csv"):
            file_date_str = filename.split("_")[-1].replace(".csv", "")
            try:
                file_date = datetime.strptime(file_date_str, "%Y-%m-%d")
                if start_date <= file_date <= end_date:
                    file_path = os.path.join(directory, filename)
                    df = pd.read_csv(file_path)
                    df["timestamp"] = df["timestamp"].apply(format_timestamp)
                    df.to_csv(file_path, index=False)
                    print(f"Updated {filename}")
            except ValueError:
                print(f"Skipping {filename} (invalid date format in filename: {file_date_str})")

# Define el directorio donde están los archivos
input_directory = "/var/www/html/flask_project/chains/cambiandofechas"  # Cambia esto según la ubicación real de tus archivos
process_files(input_directory)