Refactor create_observer into a seperate method

This removes the direct pyephem dependency of schedule_single_station.py
which allows a future replacement of pyephem inside the pass_predictor,
without any change of the public method interfaces.
merge-requests/56/head
Fabian P. Schmidt 2019-11-05 12:57:00 +01:00
parent bf53fd438f
commit cbc700fdbd
2 changed files with 18 additions and 9 deletions

View File

@ -36,6 +36,17 @@ def overlap(satpass, scheduledpasses, wait_time_seconds):
return overlap
def create_observer(lat, lon, alt, min_riseset=0.0):
'''
Create an observer instance.
'''
observer = ephem.Observer()
observer.lat = str(lat)
observer.lon = str(lon)
observer.elevation = alt
observer.horizon = str(min_riseset)
return observer
def find_passes(satellite,
observer,

View File

@ -1,7 +1,6 @@
#!/usr/bin/env python
from __future__ import division
import requests
import ephem
from datetime import datetime, timedelta
import os
import lxml.html
@ -10,7 +9,8 @@ import logging
from utils import get_priority_passes, \
read_priorities_transmitters, \
satellites_from_transmitters
from auto_scheduler.pass_predictor import find_passes
from auto_scheduler.pass_predictor import create_observer, \
find_passes
from auto_scheduler.schedulers import ordered_scheduler, \
report_efficiency
from cache import CacheManager
@ -163,12 +163,6 @@ def main():
settings.MAX_NORAD_CAT_ID)
cache.update()
# Set observer
observer = ephem.Observer()
observer.lon = str(ground_station['lng'])
observer.lat = str(ground_station['lat'])
observer.elevation = ground_station['altitude']
# Set minimum culmination elevation
if args.min_culmination is None:
min_culmination = ground_station['min_horizon']
@ -195,7 +189,11 @@ def main():
else:
min_riseset = 0.0
observer.horizon = str(min_riseset)
# Set observer
observer = create_observer(ground_station['lat'],
ground_station['lng'],
ground_station['altitude'],
min_riseset=min_riseset)
# Minimum duration of a pass
min_pass_duration = settings.MIN_PASS_DURATION