1
0
mirror of https://github.com/craigerl/aprsd.git synced 2024-10-31 15:07:13 -04:00
aprsd/aprsd/plugins/fortune.py

41 lines
972 B
Python
Raw Normal View History

import logging
import shutil
import subprocess
from aprsd import plugin
LOG = logging.getLogger("APRSD")
class FortunePlugin(plugin.APRSDPluginBase):
"""Fortune."""
version = "1.0"
command_regex = "^[fF]"
command_name = "fortune"
def command(self, fromcall, message, ack):
LOG.info("FortunePlugin")
reply = None
fortune_path = shutil.which("fortune")
if not fortune_path:
reply = "Fortune command not installed"
return reply
try:
cmnd = [fortune_path, "-s", "-n 60"]
command = " ".join(cmnd)
output = subprocess.check_output(
command,
shell=True,
timeout=3,
universal_newlines=True,
)
except subprocess.CalledProcessError as ex:
reply = "Fortune command failed '{}'".format(ex.output)
else:
reply = output
return reply