diff --git a/schedule_single_station.py b/schedule_single_station.py index e054052..8167ed6 100755 --- a/schedule_single_station.py +++ b/schedule_single_station.py @@ -7,9 +7,9 @@ import os import lxml.html import argparse import logging -from utils import read_priorities_transmitters, \ - get_priority_passes -from auto_scheduler import Twolineelement, Satellite +from utils import get_priority_passes, \ + read_priorities_transmitters, \ + satellites_from_transmitters from auto_scheduler.pass_predictor import find_passes from auto_scheduler.schedulers import ordered_scheduler, \ report_efficiency @@ -204,17 +204,8 @@ def main(): # Read transmitters transmitters = cache.read_transmitters() - # Extract satellites from receivable transmitters - satellites = [] - for transmitter in transmitters: - for tle in tles: - if tle['norad_cat_id'] == transmitter['norad_cat_id']: - satellites.append(Satellite(Twolineelement(*tle['lines']), - transmitter['uuid'], - transmitter['success_rate'], - transmitter['good_count'], - transmitter['data_count'], - transmitter['mode'])) + # Extract interesting satellites from receivable transmitters + satellites = satellites_from_transmitters(transmitters, tles) # Find passes passes = [] diff --git a/utils.py b/utils.py index 7259fdf..3470835 100644 --- a/utils.py +++ b/utils.py @@ -2,6 +2,8 @@ import logging import settings import os +from auto_scheduler import Twolineelement, Satellite + def read_priorities_transmitters(filename): # Priorities and favorite transmitters @@ -55,3 +57,20 @@ def get_priority_passes(passes, priorities, favorite_transmitters, only_priority if satpass['priority'] >= min_priority: normal.append(satpass) return (priority, normal) + + +def satellites_from_transmitters(transmitters, tles): + ''' + Extract interesting satellites from receivable transmitters + ''' + satellites = [] + for transmitter in transmitters: + for tle in tles: + if tle['norad_cat_id'] == transmitter['norad_cat_id']: + satellites.append(Satellite(Twolineelement(*tle['lines']), + transmitter['uuid'], + transmitter['success_rate'], + transmitter['good_count'], + transmitter['data_count'], + transmitter['mode'])) + return satellites