summaryrefslogtreecommitdiff
path: root/kombu/utils/amq_manager.py
blob: 1b893635d337efd626ffa0d09fa386ff227d3d54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"""AMQP Management API utilities."""
from __future__ import absolute_import, unicode_literals


def get_manager(client, hostname=None, port=None, userid=None,
                password=None):
    """Get pyrabbit manager."""
    import pyrabbit
    opt = client.transport_options.get

    def get(name, val, default):
        return (val if val is not None
                else opt('manager_%s' % name) or
                getattr(client, name, None) or default)

    host = get('hostname', hostname, 'localhost')
    port = port if port is not None else opt('manager_port', 15672)
    userid = get('userid', userid, 'guest')
    password = get('password', password, 'guest')
    return pyrabbit.Client('%s:%s' % (host, port), userid, password)