"""
Analysiert die streams.txt um herauszufinden, warum sie funktioniert
"""

# Lese die Datei komplett RAW
with open('streams.txt', 'rb') as f:
    raw_data = f.read()

print("[v0] === RAW FILE ANALYSIS ===")
print(f"[v0] Total bytes: {len(raw_data)}")
print(f"[v0] First 500 bytes (hex): {raw_data[:500].hex()}")
print(f"[v0] First 500 chars: {raw_data[:500]}")

# Check for BOM
if raw_data.startswith(b'\xef\xbb\xbf'):
    print("[v0] File has UTF-8 BOM")
elif raw_data.startswith(b'\xff\xfe'):
    print("[v0] File has UTF-16 LE BOM")
elif raw_data.startswith(b'\xfe\xff'):
    print("[v0] File has UTF-16 BE BOM")
else:
    print("[v0] No BOM detected")

# Check line endings
lf_count = raw_data.count(b'\n')
crlf_count = raw_data.count(b'\r\n')
cr_count = raw_data.count(b'\r') - crlf_count

print(f"\n[v0] === LINE ENDING ANALYSIS ===")
print(f"[v0] LF (\\n) count: {lf_count}")
print(f"[v0] CRLF (\\r\\n) count: {crlf_count}")
print(f"[v0] CR (\\r) only count: {cr_count}")

# Count entries
extinf_count = raw_data.count(b'#EXTINF')
extm3u_count = raw_data.count(b'#EXTM3U')

print(f"\n[v0] === ENTRY COUNT ===")
print(f"[v0] #EXTM3U headers: {extm3u_count}")
print(f"[v0] #EXTINF entries: {extinf_count}")

# Show first 3 entries
content = raw_data.decode('utf-8', errors='replace')
entries = content.split('#EXTINF')[:4]  # First 3 + header

print(f"\n[v0] === FIRST 3 ENTRIES ===")
for i, entry in enumerate(entries):
    if entry.strip():
        print(f"[v0] Entry {i}:")
        print(f"[v0] Length: {len(entry)} chars")
        print(f"[v0] Content: {entry[:200]}...")
        print()
