Ignore re-entered satellites
parent
239897b4cd
commit
0788b580ec
|
@ -10,7 +10,8 @@ import argparse
|
||||||
import logging
|
import logging
|
||||||
from utils import get_active_transmitter_info, get_transmitter_stats, \
|
from utils import get_active_transmitter_info, get_transmitter_stats, \
|
||||||
get_groundstation_info, get_last_update, get_scheduled_passes_from_network, ordered_scheduler, \
|
get_groundstation_info, get_last_update, get_scheduled_passes_from_network, ordered_scheduler, \
|
||||||
efficiency, find_passes, schedule_observation, read_priorities_transmitters
|
efficiency, find_passes, schedule_observation, read_priorities_transmitters, \
|
||||||
|
get_satellite_info
|
||||||
import settings
|
import settings
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
import sys
|
import sys
|
||||||
|
@ -162,19 +163,27 @@ if __name__ == "__main__":
|
||||||
antenna["frequency_max"]):
|
antenna["frequency_max"]):
|
||||||
transmitters[transmitter['uuid']] = transmitter
|
transmitters[transmitter['uuid']] = transmitter
|
||||||
|
|
||||||
|
# Get satellites which are alive
|
||||||
|
alive_norad_cat_ids = get_satellite_info()
|
||||||
|
|
||||||
# Get NORAD IDs
|
# Get NORAD IDs
|
||||||
norad_cat_ids = sorted(
|
norad_cat_ids = sorted(
|
||||||
set([transmitter["norad_cat_id"] for transmitter in transmitters.values()
|
set([transmitter["norad_cat_id"] for transmitter in transmitters.values()
|
||||||
if transmitter["norad_cat_id"] < settings.MAX_NORAD_CAT_ID]))
|
if transmitter["norad_cat_id"] < settings.MAX_NORAD_CAT_ID
|
||||||
|
and transmitter["norad_cat_id"] in alive_norad_cat_ids]))
|
||||||
|
|
||||||
# Store transmitters
|
# Store transmitters
|
||||||
fp = open(os.path.join(cache_dir, "transmitters_%d.txt" % ground_station_id), "w")
|
fp = open(os.path.join(cache_dir, "transmitters_%d.txt" % ground_station_id), "w")
|
||||||
logging.info("Requesting transmitter success rates.")
|
logging.info("Requesting transmitter success rates.")
|
||||||
transmitters_stats = get_transmitter_stats()
|
transmitters_stats = get_transmitter_stats()
|
||||||
for transmitter in transmitters_stats:
|
for transmitter in transmitters_stats:
|
||||||
|
# Skip absent transmitters
|
||||||
if not transmitter['uuid'] in transmitters.keys():
|
if not transmitter['uuid'] in transmitters.keys():
|
||||||
continue
|
continue
|
||||||
|
# Skip dead satellites
|
||||||
|
if transmitter["norad_cat_id"] not in alive_norad_cat_ids:
|
||||||
|
continue
|
||||||
|
|
||||||
fp.write("%05d %s %d %d %d\n" %
|
fp.write("%05d %s %d %d %d\n" %
|
||||||
(transmitter["norad_cat_id"],
|
(transmitter["norad_cat_id"],
|
||||||
transmitter["uuid"],
|
transmitter["uuid"],
|
||||||
|
|
12
utils.py
12
utils.py
|
@ -40,7 +40,19 @@ def read_priorities_transmitters(filename):
|
||||||
sattrans[sat] = transmitter
|
sattrans[sat] = transmitter
|
||||||
return (satprio, sattrans)
|
return (satprio, sattrans)
|
||||||
|
|
||||||
|
def get_satellite_info():
|
||||||
|
# Open session
|
||||||
|
logging.info("Fetching satellite information from DB.")
|
||||||
|
r = requests.get('{}/api/satellites'.format(settings.DB_BASE_URL))
|
||||||
|
logging.info("Satellites received!")
|
||||||
|
|
||||||
|
# Select alive satellites
|
||||||
|
norad_cat_ids = []
|
||||||
|
for o in r.json():
|
||||||
|
if o["status"] == "alive":
|
||||||
|
norad_cat_ids.append(o["norad_cat_id"])
|
||||||
|
|
||||||
|
return norad_cat_ids
|
||||||
|
|
||||||
def get_active_transmitter_info(fmin, fmax):
|
def get_active_transmitter_info(fmin, fmax):
|
||||||
# Open session
|
# Open session
|
||||||
|
|
Loading…
Reference in New Issue