# Path: zaqarclient/common/decorators.py
# def version(min_version, max_version=None):
#     def method(meth):
#         def wrapper(self, *args, **kwargs):
# def lazy_property(write=False, delete=True):
#     def wrapper(fn):
#         def getter(self):
#         def setter(self, value):
#         def deleter(self):
# 
# Path: zaqarclient/queues/v1/client.py
# class Client(object):
#     def __init__(self, url=None, version=1, conf=None, session=None):
#     def _get_transport(self, request):
#     def _request_and_transport(self):
#     def transport(self):
#     def queue(self, ref, **kwargs):
#     def queues(self, **params):
#     def follow(self, ref):
#     def pool(self, ref, **kwargs):
#     def pools(self, **params):
#     def flavor(self, ref, **kwargs):
#     def flavors(self, **params):
#     def health(self):
# 
# Path: zaqarclient/queues/v1/iterator.py
# class _Iterator(object):
#     def __init__(self, client, listing_response, iter_key, create_function):
#     def __iter__(self):
#     def get_iterables(self, iterables):
#     def stream(self, enabled=True):
#     def _next_page(self):
#     def __next__(self):
# 
# Path: zaqarclient/queues/v2/core.py
# def queue_update(transport, request, name, metadata, callback=None):
# def queue_purge(transport, request, name, resource_types=None):
# def signed_url_create(transport, request, queue_name, paths=None,
#                       ttl_seconds=None, project_id=None, methods=None):
# def subscription_create(transport, request, queue_name, subscription_data):
# def subscription_get(transport, request, queue_name, subscription_id):
# def subscription_update(transport, request, queue_name, subscription_id,
#                         subscription_data):
# def subscription_delete(transport, request, queue_name, subscription_id):
# def subscription_list(transport, request, queue_name, **kwargs):
# def ping(transport, request, callback=None):
# def health(transport, request, callback=None):
# def homedoc(transport, request, callback=None):
# 
# Path: zaqarclient/queues/v2/queues.py
# class Queue(queues.Queue):
#     def signed_url(self, paths=None, ttl_seconds=None, methods=None):
#     def subscriptions(self, detailed=False, marker=None, limit=20):
#     def metadata(self, new_meta=None, force_reload=False):
#     def purge(self, resource_types=None):
#     def claim(self, id=None, ttl=None, grace=None,
#               limit=None):
# def create_object(parent):
# 
# Path: zaqarclient/queues/v2/subscription.py
# class Subscription(object):
#     def __init__(self, client, queue_name, subscriber=None, ttl=60, id=None,
#                  auto_create=True, **kwargs):
#     def ensure_exists(self):
#     def update(self, subscription_data):
#     def delete(self):
# def create_object(parent):


from oslo_utils import uuidutils
from zaqarclient.common import decorators
from zaqarclient.queues.v1 import client
from zaqarclient.queues.v1 import iterator
from zaqarclient.queues.v2 import core
from zaqarclient.queues.v2 import queues
from zaqarclient.queues.v2 import subscription
    def queues(self, **params):
        """Gets a list of queues from the server

        :returns: A list of queues
        :rtype: `list`
        """
        req, trans = self._request_and_transport()

        queue_list = core.queue_list(trans, req, **params)

        count = None
        if params.get("with_count"):
            count = queue_list.get("count", None)

        return iterator._Iterator(self, queue_list, 'queues',
                                  self.queues_module.create_object(self)),\
            count

    @decorators.version(min_version=2)
    def subscription(self, queue_name, **kwargs):
        """Returns a subscription instance

        :param queue_name: Name of the queue to subscribe to.
        :type queue_name: `six.text_type`

        :returns: A subscription instance
        :rtype: `subscription.Subscription`
        """
        return subscription.Subscription(self, queue_name, **kwargs)


# Path: zaqarclient/common/decorators.py
# def version(min_version, max_version=None):
#     def method(meth):
#         def wrapper(self, *args, **kwargs):
# def lazy_property(write=False, delete=True):
#     def wrapper(fn):
#         def getter(self):
#         def setter(self, value):
#         def deleter(self):
# 
# Path: zaqarclient/queues/v1/client.py
# class Client(object):
#     def __init__(self, url=None, version=1, conf=None, session=None):
#     def _get_transport(self, request):
#     def _request_and_transport(self):
#     def transport(self):
#     def queue(self, ref, **kwargs):
#     def queues(self, **params):
#     def follow(self, ref):
#     def pool(self, ref, **kwargs):
#     def pools(self, **params):
#     def flavor(self, ref, **kwargs):
#     def flavors(self, **params):
#     def health(self):
# 
# Path: zaqarclient/queues/v1/iterator.py
# class _Iterator(object):
#     def __init__(self, client, listing_response, iter_key, create_function):
#     def __iter__(self):
#     def get_iterables(self, iterables):
#     def stream(self, enabled=True):
#     def _next_page(self):
#     def __next__(self):
# 
# Path: zaqarclient/queues/v2/core.py
# def queue_update(transport, request, name, metadata, callback=None):
# def queue_purge(transport, request, name, resource_types=None):
# def signed_url_create(transport, request, queue_name, paths=None,
#                       ttl_seconds=None, project_id=None, methods=None):
# def subscription_create(transport, request, queue_name, subscription_data):
# def subscription_get(transport, request, queue_name, subscription_id):
# def subscription_update(transport, request, queue_name, subscription_id,
#                         subscription_data):
# def subscription_delete(transport, request, queue_name, subscription_id):
# def subscription_list(transport, request, queue_name, **kwargs):
# def ping(transport, request, callback=None):
# def health(transport, request, callback=None):
# def homedoc(transport, request, callback=None):
# 
# Path: zaqarclient/queues/v2/queues.py
# class Queue(queues.Queue):
#     def signed_url(self, paths=None, ttl_seconds=None, methods=None):
#     def subscriptions(self, detailed=False, marker=None, limit=20):
#     def metadata(self, new_meta=None, force_reload=False):
#     def purge(self, resource_types=None):
#     def claim(self, id=None, ttl=None, grace=None,
#               limit=None):
# def create_object(parent):
# 
# Path: zaqarclient/queues/v2/subscription.py
# class Subscription(object):
#     def __init__(self, client, queue_name, subscriber=None, ttl=60, id=None,
#                  auto_create=True, **kwargs):
#     def ensure_exists(self):
#     def update(self, subscription_data):
#     def delete(self):
# def create_object(parent):


# Path: zaqarclient/queues/v2/client.py
from oslo_utils import uuidutils
from zaqarclient.common import decorators
from zaqarclient.queues.v1 import client
from zaqarclient.queues.v1 import iterator
from zaqarclient.queues.v2 import core
from zaqarclient.queues.v2 import queues
from zaqarclient.queues.v2 import subscription

    def queues(self, **params):
        """Gets a list of queues from the server

        :returns: A list of queues
        :rtype: `list`
        """
        req, trans = self._request_and_transport()

        queue_list = core.queue_list(trans, req, **params)

        count = None
        if params.get("with_count"):
            count = queue_list.get("count", None)

        return iterator._Iterator(self, queue_list, 'queues',
                                  self.queues_module.create_object(self)),\
            count

    @decorators.version(min_version=2)
    def subscription(self, queue_name, **kwargs):
        """Returns a subscription instance

        :param queue_name: Name of the queue to subscribe to.
        :type queue_name: `six.text_type`

        :returns: A subscription instance
        :rtype: `subscription.Subscription`
        """
        return subscription.Subscription(self, queue_name, **kwargs)


    @decorators.version(min_version=2)