import requests
import json
import urllib3

# Wyłączamy ostrzeżenia SSL
urllib3.disable_warnings()

URL = "https://mtr.ciapongi.szablix.pl/mtr/api/map/rails"

def main():
    print(f"[*] Pobieranie danych z API: {URL} ...")
    try:
        resp = requests.get(URL, verify=False, timeout=15)
        if resp.status_code != 200:
            print(f"[!] Błąd HTTP: {resp.status_code}")
            return
        
        data = resp.json()
        
        print("\n=== STRUKTURA GŁÓWNEGO JSONA ===")
        if isinstance(data, dict):
            print(f"Główne klucze: {list(data.keys())}")
            # MTR zwykle pakuje wszystko w klucz 'data'
            actual_data = data.get('data', data)
        else:
            actual_data = data
            
        # Zgadujemy, gdzie jest główna lista torów
        if isinstance(actual_data, dict) and 'rails' in actual_data:
            rails_list = actual_data['rails']
        elif isinstance(actual_data, list):
            rails_list = actual_data
        elif isinstance(actual_data, dict):
            rails_list = list(actual_data.values())
        else:
            print("Nierozpoznany format! Oto początek pliku:")
            print(str(actual_data)[:500])
            return

        print(f"[*] Znaleziono obiektów torów: {len(rails_list)}")
        
        if len(rails_list) > 0:
            print("\n=== PRÓBKA (PIERWSZE 2 TORY) ===\n")
            sample = rails_list[:2]
            print(json.dumps(sample, indent=4, ensure_ascii=False))
            
            with open("/root/ciapongi-mapa/sample_rails.json", "w", encoding="utf-8") as f:
                json.dump(sample, f, indent=4, ensure_ascii=False)
            print("\n[*] Próbka została też zapisana do pliku 'sample_rails.json'.")
            
    except Exception as e:
        print(f"[!!!] Wystąpił błąd: {e}")

if __name__ == "__main__":
    main()
