import json

def get_bars(file_path, start_time, count=24):
    with open(file_path) as f:
        data = json.load(f)
    
    if isinstance(data, dict) and 'bars' in data:
        data = data['bars']
    elif isinstance(data, dict) and 'data' in data:
        data = data['data']
        
    bars = []
    for bar in data:
        time_val = bar['time'] if isinstance(bar, dict) else bar[0]
        # Convert timestamp to ISO string if it's a number (assuming seconds since epoch)
        if isinstance(time_val, (int, float)):
            import datetime
            time_str = datetime.datetime.fromtimestamp(time_val, tz=datetime.timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
        else:
            time_str = str(time_val)
            
        if time_str <= start_time:
            if isinstance(bar, dict):
                bar['time'] = time_str # Ensure standard format
                bars.append(bar)
            else:
                bars.append({'time': time_str, 'open': bar[1], 'high': bar[2], 'low': bar[3], 'close': bar[4]})
    
    return bars[-count:]

print("--- candidate_2026-07-13T04-45-00Z_long_liquidity_sweep_reversal ---")
m5 = get_bars('/home/aryy/.hermes/profiles/finance/backtests/xauusd_2026/hybrid/data/ohlcv_M5.json', "2026-07-13T06:00:00Z", count=18)
print("M5:")
for b in m5: print(f"  {b['time']}: O={b['open']} H={b['high']} L={b['low']} C={b['close']}")

print("\n--- candidate_2026-07-13T15-00-00Z_short_liquidity_sweep_reversal ---")
m5 = get_bars('/home/aryy/.hermes/profiles/finance/backtests/xauusd_2026/hybrid/data/ohlcv_M5.json', "2026-07-13T16:00:00Z", count=18)
print("M5:")
for b in m5: print(f"  {b['time']}: O={b['open']} H={b['high']} L={b['low']} C={b['close']}")

print("\n--- candidate_2026-07-13T16-00-00Z_short_liquidity_sweep_reversal ---")
m5 = get_bars('/home/aryy/.hermes/profiles/finance/backtests/xauusd_2026/hybrid/data/ohlcv_M5.json', "2026-07-13T17:00:00Z", count=18)
print("M5:")
for b in m5: print(f"  {b['time']}: O={b['open']} H={b['high']} L={b['low']} C={b['close']}")
