'Given a list of resources, retrieve the quotas for the given
project.
:param context: The request context, for access checks.
:param resources: A dictionary of the registered resources.
:param project_id: The ID of the project to return quotas for.
:param quota_class: If project_id != context.project_id, the
quota class cannot be determined.  This
parameter allows it to be specified.  It
will be ignored if project_id ==
context.project_id.
:param defaults: If True, the quota class value (or the
default value, if there is no value from the
quota class) will be reported if there is no
specific value for the resource.
:param usages: If True, the current counts will also be returned.
:param remains: If True, the current remains of the project will
will be returned.
:param project_quotas: Quotas dictionary for the specified project.'

def get_project_quotas(self, context, resources, project_id, quota_class=None, defaults=True, usages=True, remains=False, project_quotas=None):

    project_quotas = (project_quotas or objects.Quotas.get_all_by_project(context, project_id))
    project_usages = {}
    if usages:
        project_usages = self._get_usages(context, resources, project_id)
    return self._process_quotas(context, resources, project_id, project_quotas, quota_class, defaults=defaults, usages=project_usages, remains=remains)
