kopia lustrzana https://github.com/glidernet/ogn-python
ALTER TABLE receiver_coverages RENAME COLUMN location_mgrs TO location_mgrs_short
rodzic
02e8c17dca
commit
276d3d1439
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Ładowanie…
Reference in New Issue