kopia lustrzana https://github.com/glidernet/ogn-python
First test route
rodzic
88f9b4ab64
commit
cb8b99785f
|
@ -0,0 +1,7 @@
|
||||||
|
from flask import Flask
|
||||||
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
app.config.from_object('config.default')
|
||||||
|
|
||||||
|
db = SQLAlchemy(app)
|
|
@ -0,0 +1,5 @@
|
||||||
|
from ogn import app
|
||||||
|
from ogn import routes
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run()
|
|
@ -1,6 +1,5 @@
|
||||||
# flake8: noqa
|
# flake8: noqa
|
||||||
from .aircraft_type import AircraftType
|
from .aircraft_type import AircraftType
|
||||||
from .base import Base
|
|
||||||
from .beacon import Beacon
|
from .beacon import Beacon
|
||||||
from .country import Country
|
from .country import Country
|
||||||
from .device import Device
|
from .device import Device
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from geoalchemy2.types import Geometry
|
from geoalchemy2.types import Geometry
|
||||||
from sqlalchemy import Column, String, Integer, Float, SmallInteger
|
from sqlalchemy import Column, String, Integer, Float, SmallInteger
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class Airport(Base):
|
class Airport(db.Model):
|
||||||
__tablename__ = "airports"
|
__tablename__ = "airports"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
|
||||||
|
|
||||||
|
|
||||||
Base = declarative_base()
|
|
|
@ -4,11 +4,12 @@ from sqlalchemy import Column, String, SmallInteger, Float, DateTime
|
||||||
from sqlalchemy.ext.declarative import AbstractConcreteBase
|
from sqlalchemy.ext.declarative import AbstractConcreteBase
|
||||||
from sqlalchemy.ext.hybrid import hybrid_property
|
from sqlalchemy.ext.hybrid import hybrid_property
|
||||||
|
|
||||||
from .base import Base
|
|
||||||
from .geo import Location
|
from .geo import Location
|
||||||
|
|
||||||
|
from ogn import db
|
||||||
|
|
||||||
class Beacon(AbstractConcreteBase, Base):
|
|
||||||
|
class Beacon(AbstractConcreteBase, db.Model):
|
||||||
# APRS data
|
# APRS data
|
||||||
location_wkt = Column('location', Geometry('POINT', srid=4326))
|
location_wkt = Column('location', Geometry('POINT', srid=4326))
|
||||||
altitude = Column(Float(precision=2))
|
altitude = Column(Float(precision=2))
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from geoalchemy2.types import Geometry
|
from geoalchemy2.types import Geometry
|
||||||
from sqlalchemy import Column, String, Integer, Float, SmallInteger, BigInteger
|
from sqlalchemy import Column, String, Integer, Float, SmallInteger, BigInteger
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class Country(Base):
|
class Country(db.Model):
|
||||||
__tablename__ = "countries"
|
__tablename__ = "countries"
|
||||||
|
|
||||||
gid = Column(Integer, primary_key=True)
|
gid = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
from sqlalchemy import Column, Integer, String, Float, Boolean, SmallInteger, DateTime
|
from sqlalchemy import Column, Integer, String, Float, Boolean, SmallInteger, DateTime
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class Device(Base):
|
class Device(db.Model):
|
||||||
__tablename__ = 'devices'
|
__tablename__ = 'devices'
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from sqlalchemy import Column, Integer, String, Boolean, SmallInteger, ForeignKey
|
from sqlalchemy import Column, Integer, String, Boolean, SmallInteger, ForeignKey
|
||||||
from sqlalchemy.orm import relationship, backref
|
from sqlalchemy.orm import relationship, backref
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class DeviceInfo(Base):
|
class DeviceInfo(db.Model):
|
||||||
__tablename__ = 'device_infos'
|
__tablename__ = 'device_infos'
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from sqlalchemy import Column, Integer, Date, DateTime, Float, ForeignKey, SmallInteger, Boolean, String, Index
|
from sqlalchemy import Column, Integer, Date, DateTime, Float, ForeignKey, SmallInteger, Boolean, String, Index
|
||||||
from sqlalchemy.orm import relationship, backref
|
from sqlalchemy.orm import relationship, backref
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class DeviceStats(Base):
|
class DeviceStats(db.Model):
|
||||||
__tablename__ = "device_stats"
|
__tablename__ = "device_stats"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -2,10 +2,10 @@ from geoalchemy2.types import Geometry
|
||||||
from sqlalchemy import Column, Integer, Date, Index, ForeignKey
|
from sqlalchemy import Column, Integer, Date, Index, ForeignKey
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class Flight2D(Base):
|
class Flight2D(db.Model):
|
||||||
__tablename__ = "flights2d"
|
__tablename__ = "flights2d"
|
||||||
|
|
||||||
date = Column(Date, primary_key=True)
|
date = Column(Date, primary_key=True)
|
||||||
|
|
|
@ -2,10 +2,10 @@ from sqlalchemy import Integer, SmallInteger, Float, DateTime, Column, ForeignKe
|
||||||
from sqlalchemy.ext.hybrid import hybrid_property
|
from sqlalchemy.ext.hybrid import hybrid_property
|
||||||
from sqlalchemy.orm import relationship, backref
|
from sqlalchemy.orm import relationship, backref
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class Logbook(Base):
|
class Logbook(db.Model):
|
||||||
__tablename__ = 'logbook'
|
__tablename__ = 'logbook'
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -3,11 +3,12 @@ from geoalchemy2.types import Geometry
|
||||||
from sqlalchemy import Column, Float, String, Integer, DateTime, ForeignKey
|
from sqlalchemy import Column, Float, String, Integer, DateTime, ForeignKey
|
||||||
from sqlalchemy.orm import relationship, backref
|
from sqlalchemy.orm import relationship, backref
|
||||||
|
|
||||||
from .base import Base
|
|
||||||
from .geo import Location
|
from .geo import Location
|
||||||
|
|
||||||
|
from ogn import db
|
||||||
|
|
||||||
class Receiver(Base):
|
|
||||||
|
class Receiver(db.Model):
|
||||||
__tablename__ = "receivers"
|
__tablename__ = "receivers"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from sqlalchemy import Column, String, Integer, SmallInteger, Float, Date, ForeignKey, Index
|
from sqlalchemy import Column, String, Integer, SmallInteger, Float, Date, ForeignKey, Index
|
||||||
from sqlalchemy.orm import relationship, backref
|
from sqlalchemy.orm import relationship, backref
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class ReceiverCoverage(Base):
|
class ReceiverCoverage(db.Model):
|
||||||
__tablename__ = "receiver_coverages"
|
__tablename__ = "receiver_coverages"
|
||||||
|
|
||||||
location_mgrs_short = Column(String(9), primary_key=True)
|
location_mgrs_short = Column(String(9), primary_key=True)
|
||||||
|
|
|
@ -2,10 +2,10 @@ from sqlalchemy import Column, Integer, SmallInteger, Date, Float, ForeignKey, D
|
||||||
from sqlalchemy.orm import relationship, backref
|
from sqlalchemy.orm import relationship, backref
|
||||||
from geoalchemy2.types import Geometry
|
from geoalchemy2.types import Geometry
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class ReceiverStats(Base):
|
class ReceiverStats(db.Model):
|
||||||
__tablename__ = "receiver_stats"
|
__tablename__ = "receiver_stats"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from sqlalchemy import Column, Integer, Date, Float, ForeignKey, Index
|
from sqlalchemy import Column, Integer, Date, Float, ForeignKey, Index
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class RelationStats(Base):
|
class RelationStats(db.Model):
|
||||||
__tablename__ = "relation_stats"
|
__tablename__ = "relation_stats"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from sqlalchemy import Boolean, Column, Integer, SmallInteger, DateTime, ForeignKey
|
from sqlalchemy import Boolean, Column, Integer, SmallInteger, DateTime, ForeignKey
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
from .base import Base
|
from ogn import db
|
||||||
|
|
||||||
|
|
||||||
class TakeoffLanding(Base):
|
class TakeoffLanding(db.Model):
|
||||||
__tablename__ = 'takeoff_landings'
|
__tablename__ = 'takeoff_landings'
|
||||||
|
|
||||||
device_id = Column(Integer, ForeignKey('devices.id', ondelete='SET NULL'), primary_key=True)
|
device_id = Column(Integer, ForeignKey('devices.id', ondelete='SET NULL'), primary_key=True)
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
from ogn import app
|
||||||
|
from ogn import db
|
||||||
|
|
||||||
|
from ogn.model import *
|
||||||
|
|
||||||
|
@app.route('/')
|
||||||
|
def index():
|
||||||
|
return "WTF"
|
||||||
|
|
||||||
|
@app.route('/test')
|
||||||
|
def test():
|
||||||
|
return db.session.query(Device).first().address
|
4
setup.py
4
setup.py
|
@ -32,7 +32,7 @@ setup(
|
||||||
keywords='gliding ogn',
|
keywords='gliding ogn',
|
||||||
packages=find_packages(exclude=['tests', 'tests.*']),
|
packages=find_packages(exclude=['tests', 'tests.*']),
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'SQLAlchemy==1.2.12',
|
'flask-sqlalchemy==2.3.2',
|
||||||
'geopy==1.17.0',
|
'geopy==1.17.0',
|
||||||
'manage.py==0.2.10',
|
'manage.py==0.2.10',
|
||||||
'celery[redis]==4.2.1',
|
'celery[redis]==4.2.1',
|
||||||
|
@ -44,7 +44,7 @@ setup(
|
||||||
'psycopg2-binary==2.7.6.1',
|
'psycopg2-binary==2.7.6.1',
|
||||||
'mgrs==1.3.5',
|
'mgrs==1.3.5',
|
||||||
'xmlunittest==0.5.0',
|
'xmlunittest==0.5.0',
|
||||||
'tqdm==4.28.1'
|
'tqdm==4.28.1',
|
||||||
],
|
],
|
||||||
extras_require={
|
extras_require={
|
||||||
'dev': [
|
'dev': [
|
||||||
|
|
Ładowanie…
Reference in New Issue