From b80fd373fbee66c47245d62889ecf962de077b3e Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Wed, 24 Sep 2008 18:03:01 +0000 Subject: Added event handling, did some code cleanup and fixed some small bugs git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@698678 13f79535-47bb-0310-9956-ffa450edef68 --- python/commands/qpid-config | 3 +- python/commands/qpid-printevents | 67 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100755 python/commands/qpid-printevents (limited to 'python/commands') diff --git a/python/commands/qpid-config b/python/commands/qpid-config index 6bc38c7440..0998c58bce 100755 --- a/python/commands/qpid-config +++ b/python/commands/qpid-config @@ -268,7 +268,7 @@ nargs = len (cargs) bm = BrokerManager () try: - bm.SetBroker(qmfconsole.BrokerURL(_host)) + bm.SetBroker(_host) if nargs == 0: bm.Overview () else: @@ -307,6 +307,7 @@ try: else: Usage () except Exception,e: + raise print "Failed:", e.message sys.exit(1) diff --git a/python/commands/qpid-printevents b/python/commands/qpid-printevents new file mode 100755 index 0000000000..970607c797 --- /dev/null +++ b/python/commands/qpid-printevents @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +import os +import optparse +import sys +import socket +import time +from qpid.qmfconsole import Console, Session + +class EventConsole(Console): + def event(self, broker, event): + print event + + def heartbeat(self, agent, timestamp): + print "Heartbeat" + +## +## Main Program +## +def main(): + _usage = "%prog [options] [broker-addr]..." + _description = \ +"""Collect and print events from one of more Qpid message brokers. If no broker-addr is +supplied, %prog will connect to 'localhost:5672'. +broker-addr is of the form: [username/password@] hostname | ip-address [:] +ex: localhost, 10.1.1.7:10000, broker-host:10000, guest/guest@localhost +""" + p = optparse.OptionParser(usage=_usage, description=_description) + + options, arguments = p.parse_args() + if len(arguments) == 0: + arguments.append("localhost") + + console = EventConsole() + session = Session(console, rcvObjects=False, rcvHeartbeats=False) + for host in arguments: + session.addBroker(host) + + try: + while (True): + time.sleep(10) + except KeyboardInterrupt: + print + sys.exit(0) + +if __name__ == '__main__': + main() + -- cgit v1.2.1