mirror of
https://github.com/craigerl/aprsd.git
synced 2024-11-18 06:11:49 -05:00
Hemna
3faf41b203
This allows the admin interface to see which plugins are registered and enabled. Enabled is a flag that is set in the setup() method of the plugin. This gives the plugin developer a chance to disable the plugin if something isn't right at setup time. This allows aprsd to ignore plugins that are registered but not emabled.
74 lines
1.4 KiB
Python
74 lines
1.4 KiB
Python
from aprsd import packets, plugin, threads
|
|
|
|
|
|
FAKE_MESSAGE_TEXT = "fake MeSSage"
|
|
FAKE_FROM_CALLSIGN = "KFART"
|
|
FAKE_TO_CALLSIGN = "KMINE"
|
|
|
|
|
|
def fake_packet(
|
|
fromcall=FAKE_FROM_CALLSIGN,
|
|
tocall=FAKE_TO_CALLSIGN,
|
|
message=None,
|
|
msg_number=None,
|
|
message_format=packets.PACKET_TYPE_MESSAGE,
|
|
):
|
|
packet = {
|
|
"from": fromcall,
|
|
"addresse": tocall,
|
|
"format": message_format,
|
|
}
|
|
if message:
|
|
packet["message_text"] = message
|
|
|
|
if msg_number:
|
|
packet["msgNo"] = msg_number
|
|
|
|
return packet
|
|
|
|
|
|
class FakeBaseNoThreadsPlugin(plugin.APRSDPluginBase):
|
|
version = "1.0"
|
|
|
|
def setup(self):
|
|
self.enabled = True
|
|
|
|
def filter(self, packet):
|
|
return None
|
|
|
|
def process(self, packet):
|
|
return "process"
|
|
|
|
|
|
class FakeThread(threads.APRSDThread):
|
|
def __init__(self):
|
|
super().__init__("FakeThread")
|
|
|
|
def loop(self):
|
|
return True
|
|
|
|
|
|
class FakeBaseThreadsPlugin(plugin.APRSDPluginBase):
|
|
version = "1.0"
|
|
|
|
def setup(self):
|
|
self.enabled = True
|
|
|
|
def filter(self, packet):
|
|
return None
|
|
|
|
def process(self, packet):
|
|
return "process"
|
|
|
|
def create_threads(self):
|
|
return FakeThread()
|
|
|
|
|
|
class FakeRegexCommandPlugin(plugin.APRSDRegexCommandPluginBase):
|
|
version = "1.0"
|
|
command_regex = "^[fF]"
|
|
command_name = "fake"
|
|
|
|
def process(self, packet):
|
|
return FAKE_MESSAGE_TEXT
|