ALTER TABLE receiver_coverages RENAME COLUMN location_mgrs TO location_mgrs_short

pull/68/head
Konstantin Gründger 2019-01-23 15:33:33 +01:00
rodzic 02e8c17dca
commit 276d3d1439
3 zmienionych plików z 7 dodań i 7 usunięć

Wyświetl plik

@ -28,7 +28,7 @@ def create_receiver_coverage(session=None, date=None):
(start, end) = date_to_timestamps(date)
# Filter aircraft beacons
sq = session.query(AircraftBeacon.location_mgrs_short.label('location_mgrs'),
sq = session.query(AircraftBeacon.location_mgrs_short,
AircraftBeacon.receiver_id,
AircraftBeacon.signal_quality,
AircraftBeacon.altitude,
@ -40,7 +40,7 @@ def create_receiver_coverage(session=None, date=None):
.subquery()
# ... and group them by reduced MGRS, receiver and date
query = session.query(sq.c.location_mgrs,
query = session.query(sq.c.location_mgrs_short,
sq.c.receiver_id,
func.cast(date, Date).label('date'),
func.max(sq.c.signal_quality).label('max_signal_quality'),
@ -54,7 +54,7 @@ def create_receiver_coverage(session=None, date=None):
# if a receiver coverage entry exist --> update it
upd = update(ReceiverCoverage) \
.where(and_(ReceiverCoverage.location_mgrs == query.c.location_mgrs,
.where(and_(ReceiverCoverage.location_mgrs_short == query.c.location_mgrs_short,
ReceiverCoverage.receiver_id == query.c.receiver_id,
ReceiverCoverage.date == date)) \
.values({"max_signal_quality": query.c.max_signal_quality,
@ -71,12 +71,12 @@ def create_receiver_coverage(session=None, date=None):
# if a receiver coverage entry doesnt exist --> insert it
new_coverage_entries = session.query(query) \
.filter(~exists().where(
and_(ReceiverCoverage.location_mgrs == query.c.reduced_mgrs,
and_(ReceiverCoverage.location_mgrs_short == query.c.location_mgrs_short,
ReceiverCoverage.receiver_id == query.c.receiver_id,
ReceiverCoverage.date == date)))
ins = insert(ReceiverCoverage).from_select((
ReceiverCoverage.location_mgrs,
ReceiverCoverage.location_mgrs_short,
ReceiverCoverage.receiver_id,
ReceiverCoverage.date,
ReceiverCoverage.max_signal_quality,

Wyświetl plik

@ -9,7 +9,7 @@ from .base import Base
class ReceiverCoverage(Base):
__tablename__ = "receiver_coverages"
location_mgrs = Column(String(9), primary_key=True)
location_mgrs_short = Column(String(9), primary_key=True)
date = Column(Date, primary_key=True)
max_signal_quality = Column(Float)

Wyświetl plik

@ -57,7 +57,7 @@ class TestDB(unittest.TestCase):
coverages = session.query(ReceiverCoverage).all()
self.assertEqual(len(coverages), 1)
coverage = coverages[0]
self.assertEqual(coverage.location_mgrs, '89ABC1267')
self.assertEqual(coverage.location_mgrs_short, '89ABC1267')
self.assertEqual(coverage.receiver_id, self.r01.id)
self.assertEqual(coverage.min_altitude, 800)
self.assertEqual(coverage.max_altitude, 850)