Merge pull request #46 from glidernet/fix/flarmhardwareversion

Fix/flarmhardwareversion
pull/49/head
Fabian P. Schmidt 2016-02-20 15:48:41 +01:00
commit 1a13fc4151
3 zmienionych plików z 35 dodań i 3 usunięć

Wyświetl plik

@ -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")

Wyświetl plik

@ -46,7 +46,7 @@ def parse_ogn_aircraft_beacon(aprs_comment):
'frequency_offset': float(ac_match.group('frequency_offset')),
'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,
'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')}
else:
return None

Wyświetl plik

@ -33,10 +33,10 @@ class TestStringMethods(unittest.TestCase):
self.assertTrue(aircraft_beacon['stealth'])
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['hardware_version'], 44)
self.assertEqual(aircraft_beacon['hardware_version'], 10)
self.assertEqual(aircraft_beacon['real_address'], "DF0C56")
def test_v024_ogn_tracker(self):