Skip to content

Commit

Permalink
sample that puts up a prompt as a starting point for other apps
Browse files Browse the repository at this point in the history
  • Loading branch information
JoelBender committed Feb 2, 2016
1 parent 5c13bdd commit ccdd0aa
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions samples/ConsoleCmd.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/usr/bin/python

"""
This application is a template for applications that use the ConsoleCmd class.
"""

import sys

from bacpypes.debugging import bacpypes_debugging, ModuleLogger
from bacpypes.consolelogging import ArgumentParser
from bacpypes.consolecmd import ConsoleCmd

from bacpypes.core import run

# some debugging
_debug = 0
_log = ModuleLogger(globals())

# globals
this_console = None

#
# ConsoleCmdTemplate
#

class ConsoleCmdTemplate(ConsoleCmd):

def do_echo(self, args):
"""echo ..."""
args = args.split()
if _debug: ConsoleCmdTemplate._debug("do_echo %r", args)

sys.stdout.write(' '.join(args) + '\n')

bacpypes_debugging(ConsoleCmdTemplate)


def main():
global this_console

# build a parser for the command line arguments
parser = ArgumentParser(description=__doc__)

# sample additional argument to change the prompt
parser.add_argument(
"--prompt", type=str,
default="> ",
help="change the prompt",
)

# parse the command line arguments
args = parser.parse_args()

if _debug: _log.debug("initialization")
if _debug: _log.debug(" - args: %r", args)

# make a console
this_console = ConsoleCmdTemplate(prompt=args.prompt)

_log.debug("running")

run()


if __name__ == "__main__":
main()

0 comments on commit ccdd0aa

Please sign in to comment.