diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2010-02-14 14:59:24 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2010-02-14 14:59:24 +0000 |
| commit | b57cbea2e80030da1ec46b74ed5c09a7329299c9 (patch) | |
| tree | 01c130d31fc22f2975dcfd7ec40db349f7d98a09 /qpid/python/commands/qpid-tool | |
| parent | 02336adf2b3ce963fcd6db9ecb1cb6397ed2fc47 (diff) | |
| download | qpid-python-b57cbea2e80030da1ec46b74ed5c09a7329299c9.tar.gz | |
moved qpid-* tools out of qpid/python into qpid/tools; moved qmf library into extras/qmf
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@910016 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python/commands/qpid-tool')
| -rwxr-xr-x | qpid/python/commands/qpid-tool | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/qpid/python/commands/qpid-tool b/qpid/python/commands/qpid-tool deleted file mode 100755 index 05afcc9732..0000000000 --- a/qpid/python/commands/qpid-tool +++ /dev/null @@ -1,197 +0,0 @@ -#!/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 getopt -import sys -import socket -from cmd import Cmd -from qpid.connection import ConnectionFailed, Timeout -from qpid.managementdata import ManagementData -from shlex import split -from qpid.disp import Display -from qpid.peer import Closed - -class Mcli (Cmd): - """ Management Command Interpreter """ - - def __init__ (self, dataObject, dispObject): - Cmd.__init__ (self) - self.dataObject = dataObject - self.dispObject = dispObject - self.dataObject.setCli (self) - self.prompt = "qpid: " - - def emptyline (self): - pass - - def setPromptMessage (self, p): - if p == None: - self.prompt = "qpid: " - else: - self.prompt = "qpid[%s]: " % p - - def do_help (self, data): - print "Management Tool for QPID" - print - print "Commands:" - print " list - Print summary of existing objects by class" - print " list <className> - Print list of objects of the specified class" - print " list <className> active - Print list of non-deleted objects of the specified class" - print " show <className> - Print contents of all objects of specified class" - print " show <className> active - Print contents of all non-deleted objects of specified class" - print " show <list-of-IDs> - Print contents of one or more objects (infer className)" - print " show <className> <list-of-IDs> - Print contents of one or more objects" - print " list is space-separated, ranges may be specified (i.e. 1004-1010)" - print " call <ID> <methodName> [<args>] - Invoke a method on an object" - print " schema - Print summary of object classes seen on the target" - print " schema <className> - Print details of an object class" - print " set time-format short - Select short timestamp format (default)" - print " set time-format long - Select long timestamp format" - print " id [<ID>] - Display translations of display object ids" - print " quit or ^D - Exit the program" - print - - def complete_set (self, text, line, begidx, endidx): - """ Command completion for the 'set' command """ - tokens = split (line) - if len (tokens) < 2: - return ["time-format "] - elif tokens[1] == "time-format": - if len (tokens) == 2: - return ["long", "short"] - elif len (tokens) == 3: - if "long".find (text) == 0: - return ["long"] - elif "short".find (text) == 0: - return ["short"] - elif "time-format".find (text) == 0: - return ["time-format "] - return [] - - def do_set (self, data): - tokens = split (data) - try: - if tokens[0] == "time-format": - self.dispObject.do_setTimeFormat (tokens[1]) - except: - pass - - def do_id (self, data): - self.dataObject.do_id(data) - - def complete_schema (self, text, line, begidx, endidx): - tokens = split (line) - if len (tokens) > 2: - return [] - return self.dataObject.classCompletions (text) - - def do_schema (self, data): - self.dataObject.do_schema (data) - - def complete_list (self, text, line, begidx, endidx): - tokens = split (line) - if len (tokens) > 2: - return [] - return self.dataObject.classCompletions (text) - - def do_list (self, data): - self.dataObject.do_list (data) - - def do_show (self, data): - self.dataObject.do_show (data) - - def do_call (self, data): - try: - self.dataObject.do_call (data) - except ValueError, e: - print "ValueError:", e - - def do_EOF (self, data): - print "quit" - try: - self.dataObject.do_exit () - except: - pass - return True - - def do_quit (self, data): - try: - self.dataObject.do_exit () - except: - pass - return True - - def postcmd (self, stop, line): - return stop - - def postloop (self): - print "Exiting..." - self.dataObject.close () - -def Usage (): - print "Usage: qpid-tool [[<username>/<password>@]<target-host>[:<tcp-port>]]" - print - sys.exit (1) - -#========================================================= -# Main Program -#========================================================= - -# Get host name and port if specified on the command line -cargs = sys.argv[1:] -_host = "localhost" - -if len (cargs) > 0: - _host = cargs[0] - -if _host[0] == '-': - Usage() - -disp = Display () - -# Attempt to make a connection to the target broker -try: - data = ManagementData (disp, _host) -except socket.error, e: - print "Socket Error (%s):" % _host, e[1] - sys.exit (1) -except IOError, e: - print "IOError: %d - %s: %s" % (e.errno, e.strerror, e.filename) - sys.exit (1) -except ConnectionFailed, e: - print "Connect Failed %d - %s" % (e[0], e[1]) - sys.exit(1) -except Exception, e: - if str(e).find ("Exchange not found") != -1: - print "Management not enabled on broker: Use '-m yes' option on broker startup." - else: - print "Failed: %s - %s" % (e.__class__.__name__, e) - sys.exit(1) - -# Instantiate the CLI interpreter and launch it. -cli = Mcli (data, disp) -print ("Management Tool for QPID") -try: - cli.cmdloop () -except Closed, e: - print "Connection to Broker Lost:", e - sys.exit (1) |
