Commit Graph

244 Commits

Author SHA1 Message Date
Walter A. Boring IV 687d472d0b
Merge 63ce7e8d4d into c2a0f18ce0 2022-09-21 15:40:58 +02:00
Rossen c2a0f18ce0 fix timestamp in test_parse_position 2022-09-21 07:10:47 +00:00
Rossen Georgiev ef88e3493a bump to v0.7.2 2022-07-10 13:35:26 +01:00
Rossen Georgiev 5347b43106 test_parse_position: clean up left over vars 2022-07-10 13:34:53 +01:00
Rossen Georgiev 2a27dc4416 parse_position: fix data ext and weather parsing
Fix #72
2022-07-10 13:33:45 +01:00
Rossen Georgiev 2b139d1857 bump to v0.7.1 2022-03-12 14:29:26 +00:00
Rossen Georgiev 6b80e9e3ef parse: remove left over print
fix #69
2022-03-12 14:28:35 +00:00
Rossen Georgiev 5e79c81035 prase: weather: use raw string for regex 2022-03-12 14:27:29 +00:00
Rossen Georgiev c9f4b4f779 parse: fix weather_data mangling comments
fix #71
2022-03-12 14:24:28 +00:00
Rossen Georgiev 1b7da6566c parse: fix weather h00 = 100% humidity
fix #70
2022-03-12 13:54:40 +00:00
Rossen Georgiev 8674bbd143 do not log 'Resource temporarily unavailable' when blocking=False
Related #57
2021-12-20 18:05:17 +00:00
Rossen Georgiev ecb9ce71fb add sonarcloud config 2021-11-27 19:44:24 +00:00
Rossen Georgiev 3d316742e6 remove scrutinizer conf 2021-11-27 19:42:56 +00:00
Rossen Georgiev 0d5f9fbf22 tweak build process 2021-11-27 19:42:02 +00:00
Rossen Georgiev d40d7a48a1 bump to v0.7.0 2021-11-27 19:36:15 +00:00
Rossen e17efe2a29
Merge pull request #66 from rossengeorgiev/joergschultzelutter-master
Updated: Support for the 'more recent' reply/ack msg format from 1999 #61
2021-11-27 19:33:42 +00:00
Rossen Georgiev 303fe826bd parse: rework message rejack parsing + update tests 2021-11-27 19:31:07 +00:00
Rossen Georgiev 8928424a9c convert tests to use unittest 2021-11-27 16:25:01 +00:00
Joerg Schultze-Lutter 171ce425b4 Removed unnecessary comments 2021-11-27 16:10:55 +00:00
Joerg Schultze-Lutter 90f05c9a4a Added test script for new APRS 'message' format field 'ackMsgNo' 2021-11-27 16:10:55 +00:00
Joerg Schultze-Lutter bee37df76d Fixed final msg parser bug when no msgno was present 2021-11-27 16:10:55 +00:00
Joerg Schultze-Lutter a1deb2ffa3 ackMsgNo support (http://www.aprs.org/aprs11/replyacks.txt)
Decode the 'new' ackMsgNo for ack/rej responses and standard
APRS messages while still honoring the original format from aprs101.pdf

The following assumptions apply when handling APRS messages in general:

Option 1: no message ID present:
    send no ACK
    outgoing messages have no msg number attachment
        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2PRT::WXBOT    :94043
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :Mountain View CA. Today,Sunny High 60

        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SPAIN::EMAIL-2  :blah@gmail.com Hallo
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com

Option 2: old message number format is present: (example: msg{12345)
    Send ack with message number from original message (ack12345)
    All outgoing messages have trailing msg number ( {abcde ); can be numeric or
    slphanumeric counter. See aprs101.pdf chapter 14
        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SP::EMAIL-2  :blah@gmail.com Hallo{12345
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :ack12345
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{891
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ack891

        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2CSNGRAD::EMAIL-2  :blah@gmail.com{ABCDE
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :ackABCDE
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{893
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ack893

Option 3: new messages with message ID but without trailing retry msg ids: msg{AB}
    Do NOT send extra ack
    All outgoing messages have 2-character msg id, followed by message ID from original message
    Example:
    User sends message "Hello{AB}" to MPAD
    MPAD responds "Message content line 1{DE}AB" to user
    MPAD responds "Message content line 2{DF}AB" to user

    AB -> original message
    DE, DF -> message IDs generated by MPAD

        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2NUERNBG::WXBOT    :99801{AB}
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :Lemon Creek AK. Today,Scattered Rain/Snow and Patchy Fog 50% {QL}AB
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQL}AB
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :High 40{QM}AB
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQM}AB

        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SPAIN::EMAIL-2  :blah@gmail.com Hallo{AB}
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{OQ}AB
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ackOQ}AB

Option 4: new messages with message ID and with trailing retry msg ids: msg{AB}CD
    Follow the instructions as per http://www.aprs.org/aprs11/replyacks.txt

        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2CZECH::WXBOT    :99801{LM}AA
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :Lemon Creek AK. Today,Scattered Rain/Snow and Patchy Fog 50% {QP}LM
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQP}LM
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :High 40{QQ}LM
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQQ}LM
        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SP::EMAIL-2  :blah@gmail.com Welt{DE}FG
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{OS}DE
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ackOS}DE
2021-11-27 16:10:55 +00:00
Rossen Georgiev 8d1822ec2d fix phg_gain calculation being incorrect on py2 2021-11-27 15:33:16 +00:00
Rossen Georgiev 71a97f3438 parsing: calculate power,height,gain,range for PHG 2021-11-27 15:28:55 +00:00
Rossen Georgiev bbe1f4dc61 Merge branch 'TheCranston-master'; close #64 2021-11-27 14:52:04 +00:00
Rossen Georgiev 2e9c4a9c56 parsing: refine PHGR code and update tests 2021-11-27 14:51:11 +00:00
TheCranston dc90983cb6 Update common.py
This comprehends the PHGR custom message that MUST be terminated by "/" and the standard PHG message of 4 chars.  The math "Should" be done for the "R" in terms of direction but that has been omitted.
2021-11-27 14:14:19 +00:00
Rossen Georgiev a3e205f001 Merge branch 'wsmitchell3-dev'; Close #43 2021-11-27 13:45:58 +00:00
Rossen Georgiev cf32c15a44 fix test_unsupported_formats_raising; wasn't checking every type before 2021-11-27 13:44:38 +00:00
Rossen Georgiev 09db998143 refine unsupported packet type message 2021-11-27 13:43:38 +00:00
Bill Mitchell 3c82d6463e Moved unsupported format list to larger scope, use the dictionary keys
to test if a packet is in the unsupported list.
2021-11-27 13:22:46 +00:00
Bill Mitchell e79aafe29a Roll back previous commit 2021-11-27 13:20:56 +00:00
Bill Mitchell 3a12e45342 If parsing fails on body after succeeding on head, return the
partially-parsed packet as part of the error.
2021-11-27 13:20:56 +00:00
Bill Mitchell a14da1d78d When packet type is unsupported, give error message which specifies
the packet type.
2021-11-27 13:20:56 +00:00
Rossen Georgiev 4557e44e02 remove 3rd-party from unsupport list in the comment 2021-11-27 13:19:40 +00:00
Rossen Georgiev 4d47818791 Merge branch 'wsmitchell3-third-party-v2'
Close #45
2021-11-27 13:03:37 +00:00
Rossen Georgiev e1eda0e53a fix unittest import in test_thirdparty 2021-11-27 12:57:23 +00:00
Bill Mitchell 6b96f01db2 Added ParseError to third-party packet error handling 2021-11-27 12:10:20 +00:00
Bill Mitchell 2e22a3c985 Updated testing to include third-party packets 2021-11-27 12:10:20 +00:00
Bill Mitchell 3659faa509 Added third-party packet support 2021-11-27 12:10:20 +00:00
Rossen Georgiev f5776bf2f7 ci: add py3.9 2021-02-17 22:19:40 +00:00
Rossen 55d85c6bc5
Move to Github Actions (#59) 2021-01-21 23:27:50 +00:00
Hemna 63ce7e8d4d Added support for consumer kwargs
I have an app that uses consumer, but needs to pass in some kwargs
for consumption at consumer function call time.  This patch adds
kwargs support to consumer creation as well as passing those kwargs
at consumer callback time.
2020-12-22 12:37:00 -05:00
Rossen Georgiev 097ba853c4 bump v0.6.37 2019-10-26 20:17:21 +01:00
Rossen Georgiev 512d97122c fix StopIteration breaking a test on py37+ 2019-10-08 20:02:24 +01:00
Rossen Georgiev 2f0f74a06d fix SyntaxWarning for py38 and remove py33 on travis 2019-10-08 19:42:53 +01:00
Rossen Georgiev c3c886e5c6 fix #54; getting a float instead of integer 2019-10-08 19:38:17 +01:00
Rossen Georgiev 5a84e5fd0b travis: remove py2.6 add py3.7 2019-06-02 11:24:47 +01:00
Rossen Georgiev 94b89a6da4 parsing: fix incorrect parsing of msgNo
msgNo should accept alphanumeric characters

fix #36
2018-01-20 14:55:23 +00:00
Rossen Georgiev acb4c66ff9 fix #39; typos 2018-01-20 14:38:23 +00:00