Wykres commitów

169 Commity (master)

Autor SHA1 Wiadomość Data
Konstantin Gründger 1a9e1f2edd Removed old code 2020-08-29 15:05:05 +02:00
Konstantin Gründger 01fecbd1f0 Release v0.9.8 2020-08-21 18:04:36 +02:00
Axel Fahy 2c1612de93
Add kwargs for the callback function 2020-07-23 09:30:05 +02:00
Konstantin Gründger b495e6aec0 Changed InReach parser (fixed #73) 2020-05-24 14:54:51 +02:00
Konstantin Gründger 14fbcd7c12 Incompatible IDs from lt24, skylines, spider spot renamed to separate IDs, fixes #64 2020-05-22 10:43:41 +02:00
Konstantin Gründger 4968b9adf7 Refactoring 2020-05-21 23:14:31 +02:00
Konstantin Gründger 4d2557863f Release v0.9.7 2020-05-21 20:21:29 +02:00
Konstantin Gründger e0f363be91 Fixed #72 2020-05-21 19:30:32 +02:00
Konstantin Gründger 3f36915c1b Release v0.9.6 2020-01-17 21:29:57 +01:00
Zoran Bošnjak ab25b2b626 optional fields in flarm_parser
Make all fields optional. Fixes #67.
2020-01-15 10:42:42 +01:00
Zoran Bošnjak b48ee35e70 fix flake8 errors 2019-12-20 18:57:36 +01:00
Zoran Bošnjak 689d60ebbe Allow dynamic settings override
Additional (optional) 'settings' attribute in AprsClient,
to be able to pass custom settings to the client,
without changing the settings.py file.

Added 'CustomSettings' class for backward compatible attribute access.

Example (myapp.py):
...
args = ... parse arguments from command line

settings = CustomSettings(
    APRS_SERVER_HOST = args.server,
    APRS_SERVER_PORT_FULL_FEED = args.port,
    APRS_SERVER_PORT_CLIENT_DEFINED_FILTERS = args.port,
    APRS_APP_NAME = 'python-ogn-client',
    PACKAGE_VERSION = '0.9.5',
    APRS_APP_VER = '0.9',
    APRS_KEEPALIVE_TIME = 240,
    TELNET_SERVER_HOST = 'localhost',
    TELNET_SERVER_PORT = 50001,
    )

client = AprsClient(aprs_user='N0CALL', aprs_filter=args.filter, settings=settings)
client.connect()
...
2019-12-18 08:30:39 +01:00
Konstantin Gründger 226a8239fa Release v0.9.5 2019-09-07 16:26:32 +02:00
Konstantin Gründger 7260245e15 Changed telnet parser from fixed size to regex 2019-07-20 11:11:19 +02:00
Konstantin Gründger 2e02015e52 Fixed telnet parser (see #18) 2019-07-07 12:48:57 +02:00
Konstantin Gründger 342af0a253 Add support for capturs (fixes #42) 2019-06-08 14:48:42 +02:00
Konstantin Gründger 37d089acac Bugfix Spider parser (fixes #60) 2019-06-08 14:20:19 +02:00
Konstantin Gründger b7f51b92f8 Added support for OGFLYM beacons (fixes #63) 2019-06-08 14:02:18 +02:00
Konstantin Gründger 706a725305 Allow comment in tracker status beacon (fixes #56) 2019-06-08 08:03:34 +02:00
Konstantin Gründger 7682a69fd7 Fixed inReach parser 2019-06-07 20:50:54 +02:00
Konstantin Gründger b8f0028f1e Small changes for inReach parser 2019-06-07 20:34:50 +02:00
Konstantin Gründger 1eae059cf6 Fix some flake8 problems 2019-06-07 20:08:51 +02:00
Konstantin Gründger 061d47bb03 Reduce flask8 warnings 2019-06-07 20:08:51 +02:00
Philip Lee 55e3696a34 Add Inreach parser
Based on documentation here...
https://github.com/glidernet/ogn-aprs-protocol/blob/master/aprsmsgs.txt
2019-06-05 20:11:59 -07:00
Konstantin Gründger 37de8673c2 Release v0.9.3 2019-06-03 23:19:53 +02:00
Konstantin Gründger 7a577ab9ef Added generic parser for unknown protocol 2019-06-03 22:45:31 +02:00
Konstantin Gründger dab3ca3ddb Use precompiled regex 2019-06-03 22:45:31 +02:00
Konstantin Gründger b0bf5c82ee Release v0.9.2 2019-05-07 23:27:21 +02:00
Matt b6659bb216 Bugfix for #61 2019-05-07 21:20:54 +02:00
Konstantin Gründger 0ec3dc277d Release v0.9.1 2018-09-18 19:12:05 +02:00
Konstantin Gründger 32064f5364 Fix SPOT and Tracker parser 2018-09-18 19:01:34 +02:00
Konstantin Gründger 595519053d Change conversion factor kph->ms (fixes #53) 2018-09-18 18:37:01 +02:00
Konstantin Gründger 84dbfdecdb Catch ConnectionResetError (fixes #52) 2018-09-18 18:35:44 +02:00
Konstantin Gründger 485282ea3b Release v0.9.0 2018-05-14 00:04:58 +02:00
Konstantin Gründger c779e908af Modified example code 2018-05-03 07:47:38 +02:00
Konstantin Gründger a1f84c6cb7 Removed AmbigousTimeError 2018-05-01 11:21:28 +02:00
Konstantin Gründger 79ab1cfc8a Changed half turn per minute to degrees per second 2018-04-30 22:29:13 +02:00
Konstantin Gründger 3c63cffb23 Refactoring: constants 2018-04-30 21:32:15 +02:00
Konstantin Gründger cda1cb511b LT24, Skylines: <id> --> <address> 2018-04-28 21:31:50 +02:00
Konstantin Gründger fabb92bc88 Changed spider/spot <id> to <address> 2018-04-28 18:45:23 +02:00
Konstantin Gründger 8c874a3226 Spider: signal_strength -> signal_power 2018-04-28 15:16:02 +02:00
Konstantin Gründger c8d739eccd Change <id> to <address> 2018-04-28 13:44:01 +02:00
Konstantin Gründger 572d8bbc54 Refactoring 2018-04-21 10:13:49 +02:00
Konstantin Gründger 8cff2a2c4d GPS: status to quality and refactoring 2018-04-20 23:57:51 +02:00
Konstantin Gründger 6e0271cfc1 Split new OGFLR parser from old APRS parser 2018-04-20 18:51:18 +02:00
Konstantin Gründger b7458fa021 Refactoring 2018-04-12 23:24:52 +02:00
Meisterschueler c3012784ab
Merge branch 'master' into feature/+telnet_parser 2018-04-10 22:56:13 +02:00
Konstantin Gründger 12bdf25243 Added Support for FANET beacons 2018-04-10 18:54:30 +02:00
Konstantin Gründger a8a83e960b Introduce generic APRS pattern 2018-04-10 08:33:48 +02:00
Konstantin Gründger aa682a9e10 Let the parser parse comments 2018-03-18 17:55:01 +01:00
Konstantin Gründger 8f8974446c Parse (server) comments 2018-03-17 11:19:34 +01:00
Konstantin Gründger a8d0901192 Test telnet parser 2018-03-10 10:37:58 +01:00
Konstantin Gründger c58739705f Added telnet parser and test
Added TelnetClient

Change encoding, added connect() and disconnect()

Bugfixes
2018-03-10 09:52:52 +01:00
Konstantin Gründger 52468a4bd1 Refactoring: pattern naming 2018-03-10 09:46:31 +01:00
Konstantin Gründger 7ca937a17d Skylines parser, fixes #38 2018-03-10 09:17:13 +01:00
Konstantin Gründger 48d0faf374 Renamed beacon_types and LT24, Spider and Spot parsers, fixes #37, #38, #40 2018-03-10 08:58:32 +01:00
Colin S 5a0a382914
Update exceptions.py 2018-02-28 14:43:17 +02:00
Konstantin Gründger fdb05074a3 Release v0.8.2 2018-01-20 13:11:57 +01:00
Konstantin Gründger b1d26ce0c0 Better altitude validation 2018-01-13 13:49:26 +01:00
Konstantin Gründger 41e7128253 Allow valid timestamp only 2018-01-13 13:23:18 +01:00
Konstantin Gründger caffdabb4e Allow valid lat/lon only 2018-01-13 08:54:39 +01:00
Konstantin Gründger 37e239fb3a Release v0.8.1 2018-01-12 19:03:47 +01:00
kammermark@gmx.de f1a9788078 Updated Changelog 2018-01-12 12:28:31 +01:00
Konstantin Gründger 1607738b12 IDs must be hexadecimal 2018-01-12 08:26:38 +01:00
Konstantin Gründger c2b82817c7 Fix for fortyfour #44 2017-12-13 19:26:56 +01:00
Konstantin Gründger 85b7ae5adb Refactoring 2017-12-02 09:31:03 +01:00
Konstantin Gründger 2ccdcd90be put parser functions in classes 2017-10-05 08:10:28 +02:00
Konstantin Gründger 382eae4ef7 Release v0.8.0 2017-10-02 19:43:06 +02:00
Konstantin Gründger 384f0edc7e Fixes #25 2017-10-02 19:22:34 +02:00
Konstantin Gründger 8857a31e78 Allow negative altitudes 2017-10-02 19:19:39 +02:00
Konstantin Gründger e613abdbcb Fixed OGNTRK parser 2017-10-01 12:59:53 +02:00
Konstantin Gründger e1247467e5 Added test for receiver OGNSDR 2017-09-30 19:27:46 +02:00
Konstantin Gründger 7361ea7392 Fixed createTimestamp 2017-09-30 18:25:02 +02:00
Konstantin Gründger 054c9eeed0 Fixed ddhhmm vs. hhmmss problem 2017-09-30 14:28:00 +02:00
Konstantin Gründger 33a7690f7d Added Tracker (OGNTRK) and Receiver (OGNSDR) parser 2017-09-30 11:42:16 +02:00
Konstantin Gründger 127f3935d2 Separated parser in separate files 2017-09-30 09:45:50 +02:00
Konstantin Gründger ca5636456a Add APRS type to message 2017-09-30 09:45:50 +02:00
Konstantin Gründger 6044e58773 Tests for OGFLR, OGNTRK and OGNSDR 2017-09-30 09:45:50 +02:00
Konstantin Gründger 4f1f6c09ae Added group 'relay' 2017-09-30 09:45:50 +02:00
Konstantin Gründger 76a45bc531 Each dstcall gets a separate treatment 2017-09-30 09:45:50 +02:00
Konstantin Gründger 5fcaf04125 If we have a dstcall other than "APRS" the pattern must match 2017-09-30 09:45:50 +02:00
Konstantin Gründger 63d8d2fc4e Implemented Naviter parser 2017-09-30 09:45:50 +02:00
Konstantin Gründger 5faf78b239 Test beacon_type 2017-09-30 09:45:50 +02:00
Konstantin Gründger e63b746504 parser: distinguish between different dstcalls 2017-09-30 09:45:50 +02:00
Konstantin Gründger c2c38bb337 Timestamp zulu can also be a z instead h and other small improvements 2017-09-30 09:45:50 +02:00
Konstantin Gründger 9ae25a4500 Added support for heared aircrafts 2017-09-09 11:28:22 +02:00
Anze Kolar 13cc75cf03 Allow client to do sequential connect-disconnect
With introduction of the kill switch it was impossible to restart the
consumption of the OGN messages after a .disconnect() method has been
called.

This commit resets the kill flag after .connect() has been called.

Minimal example:

```
client = AprsClient(aprs_user='testuser', aprs_filter='')
client.connect()
client.run(callback=lambda x: x, autoreconnect=True)
...
client.disconnect()
client.connect()
client.run()
```
2017-07-20 15:28:01 +02:00
Anze Kolar 182f9518a4 Add kill flag to AprsClient
When starting an AprsClient with AprsClient.run(...) the client enters
a loop without an exit condition (i.e. a while True loop).  If autoreconnect
is set to True, it is impossible to exit the aforementioned loop even if
AprsClient.disconnect() is called.

This causes problems when running the client in a thread (or as a
background service, etc.) as the process will not join nor terminate
unless explicitly shutdown with SIGKILL.

Minimal example:

```
import signal

from ogn.client import AprsClient
from ogn.parser import parse_aprs, parse_ogn_beacon, ParseError

def process_beacon(raw_message):
    print('Received message')

client = AprsClient(aprs_user='N0CALL')
signal.signal(signal.SIGTERM, lambda signo, stackno: client.disconnect())
client.connect()
client.run(callback=process_beacon, autoreconnect=True)
```

This commit fixes such issues by adding a kill flag that is raised when
calling AprsClien.disconnect() to the while conditions of both loops inside
AprsClient.run().

Note: the outermost loop could still remain a while True loop as the
exit condition is checked at the end of the loop body.
2017-07-20 11:12:04 +02:00
Konstantin Gründger d0044deb47 Release v0.7.1 2017-06-05 10:07:04 +02:00
Konstantin Gründger e7cc73b220 Bugfix: error_count in AircraftBeacon is a int, not a float 2017-06-05 09:54:49 +02:00
Fabian P. Schmidt 24336cf689 Release v0.7.0 2017-06-04 07:22:39 +02:00
Fabian P. Schmidt 3ba39c266f parser: Fix copy-and-paste error 2017-06-04 07:17:04 +02:00
Konstantin Gründger 36ce45fe20 Empty APRS comment belongs to a receiver beacon 2017-05-16 14:36:38 +02:00
Konstantin Gründger d2973c1b93 Updated descriptions 2017-05-07 13:20:04 +02:00
Konstantin Gründger c98c8eca04 The comment is just optional 2017-05-07 12:56:06 +02:00
Konstantin Gründger a90f3ed1a9 Sync aircraft regex patter with ogn_client-ruby 2017-05-07 12:29:05 +02:00
Konstantin Gründger 539562c708 Sync receiver regex patter with ogn_client-ruby 2017-05-07 12:14:32 +02:00
Konstantin Gründger 00eaffd2aa Protocol parts not available will set to None instead of 0.0 2017-05-07 11:47:58 +02:00
Fabian P. Schmidt 7565de6c16 Release v0.6.0 2016-10-21 22:11:40 +02:00
Konstantin Gründger 43f2f344f5 Renaming signal_strength -> signal_quality, power -> signal_power 2016-10-13 19:34:34 +02:00