|
|
0b0750 |
#!/usr/bin/env python3.6
|
|
|
0b0750 |
#pylint: disable=line-too-long
|
|
|
0b0750 |
#
|
|
|
0b0750 |
# Copyright (2019). Fermi Research Alliance, LLC.
|
|
|
0b0750 |
# Initial Author: Pat Riehecky <riehecky@fnal.gov>
|
|
|
0b0750 |
#
|
|
|
0b0750 |
'''
|
|
|
0b0750 |
Example command to run from listen-on-dbus-for-mqtt-signals.py
|
|
|
0b0750 |
'''
|
|
|
0b0750 |
|
|
|
0b0750 |
## Uncomment these for python2 support
|
|
|
0b0750 |
#from __future__ import unicode_literals
|
|
|
0b0750 |
#from __future__ import absolute_import
|
|
|
0b0750 |
#from __future__ import print_function
|
|
|
0b0750 |
|
|
|
0b0750 |
import json
|
|
|
0b0750 |
import sys
|
|
|
0b0750 |
import textwrap
|
|
|
0b0750 |
|
|
|
0b0750 |
from pprint import pprint
|
|
|
0b0750 |
|
|
|
0b0750 |
try:
|
|
|
0b0750 |
from argparse import ArgumentParser
|
|
|
0b0750 |
except ImportError: # pragma: no cover
|
|
|
0b0750 |
print("Please install argparse - rpm: python-argparse", file=sys.stderr)
|
|
|
0b0750 |
raise
|
|
|
0b0750 |
|
|
|
0b0750 |
##########################################
|
|
|
0b0750 |
def setup_args():
|
|
|
0b0750 |
'''
|
|
|
0b0750 |
Setup the argparse object.
|
|
|
0b0750 |
|
|
|
0b0750 |
Make sure all fields have defaults so we could use this as an object
|
|
|
0b0750 |
'''
|
|
|
0b0750 |
parser = ArgumentParser(description=textwrap.dedent(__doc__))
|
|
|
0b0750 |
|
|
|
0b0750 |
parser.add_argument('signal', help='The dbus signal is set here')
|
|
|
0b0750 |
|
|
|
0b0750 |
return parser
|
|
|
0b0750 |
|
|
|
0b0750 |
##########################################
|
|
|
0b0750 |
|
|
|
0b0750 |
##########################################
|
|
|
0b0750 |
##########################################
|
|
|
0b0750 |
if __name__ == '__main__':
|
|
|
0b0750 |
|
|
|
0b0750 |
PARSER = setup_args()
|
|
|
0b0750 |
ARGS = PARSER.parse_args()
|
|
|
0b0750 |
|
|
|
0b0750 |
MESSAGE = json.loads(sys.stdin.read())
|
|
|
0b0750 |
print("Your dbus-signal was %s" % ARGS.signal)
|
|
|
0b0750 |
print("Your message was decoded as %s (between the lines)" % type(MESSAGE))
|
|
|
0b0750 |
print("------------------------------------------------")
|
|
|
0b0750 |
pprint(MESSAGE)
|
|
|
0b0750 |
print("------------------------------------------------")
|