utils: Refactor satellite filter into satellites_from_transmitters method

merge-requests/56/head
Fabian P. Schmidt 2019-11-02 20:17:52 +01:00
parent 0ae102d19b
commit f663b844d2
2 changed files with 24 additions and 14 deletions

View File

@ -7,9 +7,9 @@ import os
import lxml.html import lxml.html
import argparse import argparse
import logging import logging
from utils import read_priorities_transmitters, \ from utils import get_priority_passes, \
get_priority_passes read_priorities_transmitters, \
from auto_scheduler import Twolineelement, Satellite satellites_from_transmitters
from auto_scheduler.pass_predictor import find_passes from auto_scheduler.pass_predictor import find_passes
from auto_scheduler.schedulers import ordered_scheduler, \ from auto_scheduler.schedulers import ordered_scheduler, \
report_efficiency report_efficiency
@ -204,17 +204,8 @@ def main():
# Read transmitters # Read transmitters
transmitters = cache.read_transmitters() transmitters = cache.read_transmitters()
# Extract satellites from receivable transmitters # Extract interesting satellites from receivable transmitters
satellites = [] satellites = satellites_from_transmitters(transmitters, tles)
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']))
# Find passes # Find passes
passes = [] passes = []

View File

@ -2,6 +2,8 @@ import logging
import settings import settings
import os import os
from auto_scheduler import Twolineelement, Satellite
def read_priorities_transmitters(filename): def read_priorities_transmitters(filename):
# Priorities and favorite transmitters # Priorities and favorite transmitters
@ -55,3 +57,20 @@ def get_priority_passes(passes, priorities, favorite_transmitters, only_priority
if satpass['priority'] >= min_priority: if satpass['priority'] >= min_priority:
normal.append(satpass) normal.append(satpass)
return (priority, normal) 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