diff options
| author | Gordon Sim <gsim@apache.org> | 2013-11-04 14:38:53 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2013-11-04 14:38:53 +0000 |
| commit | ec2ccd25ad6f829fdda10d5650c9acf93b86e1b7 (patch) | |
| tree | 637c04e78d2d1b38d5b597684cb24e21db54cc95 /qpid/cpp | |
| parent | b6ac293915e2a1157698aad8b49783cfb3738f99 (diff) | |
| download | qpid-python-ec2ccd25ad6f829fdda10d5650c9acf93b86e1b7.tar.gz | |
QPID-5277: removed qpidt as qpid-config now offers similar functionality
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1538627 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
| -rwxr-xr-x | qpid/cpp/src/tests/qpidt | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/qpid/cpp/src/tests/qpidt b/qpid/cpp/src/tests/qpidt deleted file mode 100755 index 92df9efc8d..0000000000 --- a/qpid/cpp/src/tests/qpidt +++ /dev/null @@ -1,141 +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 pdb - -import os -from optparse import OptionParser -import sys - -home = os.environ.get("QPID_TOOLS_HOME", os.path.normpath("/usr/share/qpid-tools")) -sys.path.append(os.path.join(home, "python")) - -from qpid.messaging import Connection -from qpidtoollibs import BrokerAgent, BrokerObject - -desc = """Experimental generic configuration tool for qpidd. Note: this may be -modified or removed in subsequent releases. -""" -usage = """ - %prog [OPTIONS] create <type> <name> [properties] - %prog [OPTIONS] delete <type> <name> [arguments] - %prog [OPTIONS] list <type> -""" -def add_nameval(m, s): - idx = s.find("=") - if idx >= 0: - name = s[0:idx] - value = s[idx+1:] - else: - name = s - value = None - m[name] = value - -class Manager: - def __init__(self): - self.parser = OptionParser(description=desc, usage=usage) - self.url = None - self.conn_options = {} - self.command = None - self.typename = None - self.name = None - self.extra = {} - self.parser.add_option("-b", "--broker", action="store", type="string", metavar="<address>", help="Address of qpidd broker with syntax: [username/password@] hostname | ip-address [:<port>]") - self.parser.add_option("--sasl-mechanism", action="store", type="string", metavar="<mech>", help="SASL mechanism for authentication") - self.parser.add_option("--ssl-certificate", action="store", type="string", metavar="<cert>", help="Client SSL certificate (PEM Format)") - self.parser.add_option("--ssl-key", action="store", type="string", metavar="<key>", help="Client SSL private key (PEM Format)") - self.parser.add_option("--ha-admin", action="store_true", help="Allow connection to a HA backup broker.") - - def parse_args(self, argv): - opts, args = self.parser.parse_args(args=argv) - self.url = opts.broker or "localhost:5672" - self.get_connection_options(opts) - - if len(args) == 0: - self.command = "list" - elif len(args) == 1: - self.command = args.pop() - elif len(args) == 2: - self.command, self.typename = args[:2] - else: - self.command, self.typename, self.name = args[:3] - if len(args) > 3: - other = args[3:] - while len(other): - add_nameval(self.extra, other.pop()) - if self.command == "create" or self.command == "delete": - if not self.typename: - parser.error("%s requires a type to be named (e.g. queue, exchange)") - if not self.name: - parser.error("%s requires an object name to be specified") - elif self.command != "list": - parser.error("Invalid command: %s. You must specify one of 'create', 'delete' or 'list'" % command) - - def get_connection_options(self, opts): - if opts.sasl_mechanism: - self.conn_options['sasl_mechanisms'] = opts.sasl_mechanism - if opts.ssl_certificate: - self.conn_options['ssl_certfile'] = opts.ssl_certificate - if opts.ssl_key: - if not opts.ssl_certificate: - self.parser.error("missing '--ssl-certificate' (required by '--ssl-key')") - conn_options['ssl_keyfile'] = opts.ssl_key - if opts.ha_admin: - self.conn_options['client_properties'] = {'qpid.ha-admin' : 1} - - def connect(self): - self.connection = Connection.establish(self.url, **self.conn_options) - self.agent = BrokerAgent(self.connection) - - def disconnect(self): - self.connection.close() - - def execute(self): - if self.command == "list": - objects = [i["_values"] for i in self.agent._doClassQuery(self.typename.lower())] - for o in objects: - name = "" - details = "" - for k, v in o.items(): - if k == "name": - name = v - elif v: - if isinstance(v, dict) and "_object_name" in v: - v = v["_object_name"] - details += "%s=%s " %(k,v) - print "%-25s %s" % (name, details) - elif self.command == "create": - self.agent.create(self.typename, self.name, self.extra) - elif self.command == "delete": - self.agent.delete(self.typename, self.name, self.extra) - -def main(argv=None): - manager = Manager() - try: - manager.parse_args(argv) - manager.connect() - manager.execute() - manager.disconnect() - except Exception,e: - print "Failed: %s - %s" % (e.__class__.__name__, e) - -if __name__ == "__main__": - sys.exit(main()) - |
