X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=loctrkd%2Fzx303proto.py;h=4d5730304fbead5492db2c1b08f5bf86381a0618;hb=b0bfb1a7b499ca18bf707858b0650e04acec9881;hp=a2132f6c3c658aee30995d5326cf4d8701f93ba3;hpb=e4f6256a6cd5a80e9afcaaa4033fa40d4d0b7ee9;p=loctrkd.git diff --git a/loctrkd/zx303proto.py b/loctrkd/zx303proto.py index a2132f6..4d57303 100755 --- a/loctrkd/zx303proto.py +++ b/loctrkd/zx303proto.py @@ -863,14 +863,18 @@ if True: # just to indent the code, sorry! def class_by_prefix( prefix: str, -) -> Union[Type[GPS303Pkt], List[Tuple[str, int]]]: +) -> Union[Type[GPS303Pkt], List[str]]: + if prefix.startswith(PROTO_PREFIX): + pname = prefix[len(PROTO_PREFIX) :] + else: + raise KeyError(pname) lst = [ (name, proto) for name, proto in PROTOS.items() if name.upper().startswith(prefix.upper()) ] if len(lst) != 1: - return lst + return [name for name, _ in lst] _, proto = lst[0] return CLASSES[proto]