kopia lustrzana https://github.com/glidernet/ogn-python
Cleanup
rodzic
d5dc94903d
commit
4baeb83516
|
@ -40,57 +40,49 @@ def show(airport_name, latitude, longitude, altitude):
|
||||||
# make a query with current, previous and next "takeoff_landing" event, so we can find complete flights
|
# make a query with current, previous and next "takeoff_landing" event, so we can find complete flights
|
||||||
sq = session.query(
|
sq = session.query(
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
func.lag(TakeoffLanding.address) \
|
func.lag(TakeoffLanding.address)
|
||||||
.over(
|
.over(
|
||||||
order_by=and_(func.date(TakeoffLanding.timestamp),
|
order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
.label('address_prev'),
|
.label('address_prev'),
|
||||||
func.lead(TakeoffLanding.address) \
|
func.lead(TakeoffLanding.address)
|
||||||
.over(
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
order_by=and_(func.date(TakeoffLanding.timestamp),
|
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
.label('address_next'),
|
.label('address_next'),
|
||||||
TakeoffLanding.timestamp,
|
TakeoffLanding.timestamp,
|
||||||
func.lag(
|
func.lag(TakeoffLanding.timestamp)
|
||||||
TakeoffLanding.timestamp) \
|
|
||||||
.over(
|
|
||||||
order_by=and_(func.date(TakeoffLanding.timestamp),
|
|
||||||
TakeoffLanding.address,
|
|
||||||
TakeoffLanding.timestamp)) \
|
|
||||||
.label('timestamp_prev'),
|
|
||||||
func.lead(
|
|
||||||
TakeoffLanding.timestamp) \
|
|
||||||
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
|
.label('timestamp_prev'),
|
||||||
|
func.lead(TakeoffLanding.timestamp)
|
||||||
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
|
TakeoffLanding.address,
|
||||||
|
TakeoffLanding.timestamp))
|
||||||
.label('timestamp_next'),
|
.label('timestamp_next'),
|
||||||
TakeoffLanding.track,
|
TakeoffLanding.track,
|
||||||
func.lag(
|
func.lag(TakeoffLanding.track)
|
||||||
TakeoffLanding.track) \
|
|
||||||
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
.label('track_prev'),
|
.label('track_prev'),
|
||||||
func.lead(
|
func.lead(TakeoffLanding.track)
|
||||||
TakeoffLanding.track) \
|
|
||||||
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
.label('track_next'),
|
.label('track_next'),
|
||||||
TakeoffLanding.is_takeoff,
|
TakeoffLanding.is_takeoff,
|
||||||
func.lag(
|
func.lag(TakeoffLanding.is_takeoff)
|
||||||
TakeoffLanding.is_takeoff) \
|
|
||||||
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
.label('is_takeoff_prev'),
|
.label('is_takeoff_prev'),
|
||||||
func.lead(
|
func.lead(TakeoffLanding.is_takeoff)
|
||||||
TakeoffLanding.is_takeoff) \
|
|
||||||
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
.over(order_by=and_(func.date(TakeoffLanding.timestamp),
|
||||||
TakeoffLanding.address,
|
TakeoffLanding.address,
|
||||||
TakeoffLanding.timestamp)) \
|
TakeoffLanding.timestamp))
|
||||||
.label('is_takeoff_next')) \
|
.label('is_takeoff_next')) \
|
||||||
.filter(and_(between(TakeoffLanding.latitude, latmin, latmax),
|
.filter(and_(between(TakeoffLanding.latitude, latmin, latmax),
|
||||||
between(TakeoffLanding.longitude, lonmin, lonmax))) \
|
between(TakeoffLanding.longitude, lonmin, lonmax))) \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from ogn.commands.dbutils import engine, session
|
from ogn.commands.dbutils import session
|
||||||
from ogn.model import AddressOrigin, Device
|
from ogn.model import AddressOrigin, Device
|
||||||
from sqlalchemy import func, and_, true, false
|
from sqlalchemy import func, and_, true, false
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ class ognGateway:
|
||||||
# close everything
|
# close everything
|
||||||
self.sock.shutdown(0)
|
self.sock.shutdown(0)
|
||||||
self.sock.close()
|
self.sock.close()
|
||||||
except OSError as e:
|
except OSError:
|
||||||
self.logger.error('Socket close error', exc_info=True)
|
self.logger.error('Socket close error', exc_info=True)
|
||||||
|
|
||||||
def run(self, callback, autoreconnect=False):
|
def run(self, callback, autoreconnect=False):
|
||||||
|
|
|
@ -25,5 +25,3 @@ class GatewayTest(unittest.TestCase):
|
||||||
self.gw.disconnect()
|
self.gw.disconnect()
|
||||||
self.gw.sock.shutdown.assert_called_once_with(0)
|
self.gw.sock.shutdown.assert_called_once_with(0)
|
||||||
self.gw.sock.close.assert_called_once_with()
|
self.gw.sock.close.assert_called_once_with()
|
||||||
|
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue