mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 06:40:00 -07:00
up
This commit is contained in:
@@ -30,6 +30,20 @@ ALLOWED_TLE_HOSTS = ['celestrak.org', 'celestrak.com', 'www.celestrak.org', 'www
|
|||||||
# Local TLE cache (can be updated via API)
|
# Local TLE cache (can be updated via API)
|
||||||
_tle_cache = dict(TLE_SATELLITES)
|
_tle_cache = dict(TLE_SATELLITES)
|
||||||
|
|
||||||
|
# Auto-refresh TLEs from CelesTrak on startup (non-blocking)
|
||||||
|
import threading
|
||||||
|
|
||||||
|
def _auto_refresh_tle():
|
||||||
|
try:
|
||||||
|
updated = refresh_tle_data()
|
||||||
|
if updated:
|
||||||
|
logger.info(f"Auto-refreshed TLE data for: {', '.join(updated)}")
|
||||||
|
except Exception as e:
|
||||||
|
logger.warning(f"Auto TLE refresh failed: {e}")
|
||||||
|
|
||||||
|
# Delay import — refresh_tle_data is defined later in this module
|
||||||
|
threading.Timer(2.0, _auto_refresh_tle).start()
|
||||||
|
|
||||||
|
|
||||||
def _fetch_iss_realtime(observer_lat: Optional[float] = None, observer_lon: Optional[float] = None) -> Optional[dict]:
|
def _fetch_iss_realtime(observer_lat: Optional[float] = None, observer_lon: Optional[float] = None) -> Optional[dict]:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -42,6 +42,15 @@ def predict_passes(
|
|||||||
from skyfield.almanac import find_discrete
|
from skyfield.almanac import find_discrete
|
||||||
from data.satellites import TLE_SATELLITES
|
from data.satellites import TLE_SATELLITES
|
||||||
|
|
||||||
|
# Use live TLE cache from satellite module if available (refreshed from CelesTrak)
|
||||||
|
tle_source = TLE_SATELLITES
|
||||||
|
try:
|
||||||
|
from routes.satellite import _tle_cache
|
||||||
|
if _tle_cache:
|
||||||
|
tle_source = _tle_cache
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
|
||||||
ts = load.timescale()
|
ts = load.timescale()
|
||||||
observer = wgs84.latlon(lat, lon)
|
observer = wgs84.latlon(lat, lon)
|
||||||
t0 = ts.now()
|
t0 = ts.now()
|
||||||
@@ -53,7 +62,7 @@ def predict_passes(
|
|||||||
if not sat_info['active']:
|
if not sat_info['active']:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
tle_data = TLE_SATELLITES.get(sat_info['tle_key'])
|
tle_data = tle_source.get(sat_info['tle_key'])
|
||||||
if not tle_data:
|
if not tle_data:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user