kopia lustrzana https://github.com/glidernet/ogn-python
Merge pull request #46 from glidernet/fix/flarmhardwareversion
Fix/flarmhardwareversionpull/49/head
commit
1a13fc4151
|
@ -0,0 +1,32 @@
|
||||||
|
"""hardware version hex to dec
|
||||||
|
|
||||||
|
Revision ID: 3a0765c9a2
|
||||||
|
Revises: 269ec1bcf99
|
||||||
|
Create Date: 2016-02-20 10:31:55.520815
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '3a0765c9a2'
|
||||||
|
down_revision = '269ec1bcf99'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
conn = op.get_bind()
|
||||||
|
res = conn.execute("UPDATE aircraft_beacon "
|
||||||
|
"SET hardware_version = "
|
||||||
|
"16 * (hardware_version / 10) + (hardware_version % 10) "
|
||||||
|
"WHERE hardware_version IS NOT NULL")
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
conn = op.get_bind()
|
||||||
|
res = conn.execute("UPDATE aircraft_beacon "
|
||||||
|
"SET hardware_version = "
|
||||||
|
"10 * (hardware_version / 16) + (hardware_version % 16) "
|
||||||
|
"WHERE hardware_version IS NOT NULL")
|
|
@ -46,7 +46,7 @@ def parse_ogn_aircraft_beacon(aprs_comment):
|
||||||
'frequency_offset': float(ac_match.group('frequency_offset')),
|
'frequency_offset': float(ac_match.group('frequency_offset')),
|
||||||
'gps_status': ac_match.group('gps_accuracy'),
|
'gps_status': ac_match.group('gps_accuracy'),
|
||||||
'software_version': float(ac_match.group('flarm_software_version')) if ac_match.group('flarm_software_version') else None,
|
'software_version': float(ac_match.group('flarm_software_version')) if ac_match.group('flarm_software_version') else None,
|
||||||
'hardware_version': int(ac_match.group('flarm_hardware_version')) if ac_match.group('flarm_hardware_version') else None,
|
'hardware_version': int(ac_match.group('flarm_hardware_version'), 16) if ac_match.group('flarm_hardware_version') else None,
|
||||||
'real_address': ac_match.group('flarm_id')}
|
'real_address': ac_match.group('flarm_id')}
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
|
@ -33,10 +33,10 @@ class TestStringMethods(unittest.TestCase):
|
||||||
self.assertTrue(aircraft_beacon['stealth'])
|
self.assertTrue(aircraft_beacon['stealth'])
|
||||||
|
|
||||||
def test_v024(self):
|
def test_v024(self):
|
||||||
aircraft_beacon = parse_ogn_aircraft_beacon("id21400EA9 -2454fpm +0.9rot 19.5dB 0e -6.6kHz gps1x1 s6.02 h44 rDF0C56")
|
aircraft_beacon = parse_ogn_aircraft_beacon("id21400EA9 -2454fpm +0.9rot 19.5dB 0e -6.6kHz gps1x1 s6.02 h0A rDF0C56")
|
||||||
|
|
||||||
self.assertEqual(aircraft_beacon['software_version'], 6.02)
|
self.assertEqual(aircraft_beacon['software_version'], 6.02)
|
||||||
self.assertEqual(aircraft_beacon['hardware_version'], 44)
|
self.assertEqual(aircraft_beacon['hardware_version'], 10)
|
||||||
self.assertEqual(aircraft_beacon['real_address'], "DF0C56")
|
self.assertEqual(aircraft_beacon['real_address'], "DF0C56")
|
||||||
|
|
||||||
def test_v024_ogn_tracker(self):
|
def test_v024_ogn_tracker(self):
|
||||||
|
|
Ładowanie…
Reference in New Issue