Esempio n. 1
0
    def collection_get(self):
        page = int(self.request.GET.get('page', 0))
        pagesize = int(self.request.GET.get('pagesize', self.default_pagesize))

        policies_manager = PoliciesManager()

        extraargs = {}
        if pagesize > 0:
            extraargs.update({
                'skip': page * pagesize,
                'limit': pagesize,
            })

        objects = policies_manager.get_policies()

        if pagesize > 0:
            pages = int(len(objects) / pagesize)
        else:
            pagesize = 1
        objects = objects[page * pagesize:]
        objects = objects[:pagesize]
        parsed_objects = self.parse_collection(list(objects))
        return {
            'pagesize': pagesize,
            'pages': pages,
            'page': page,
            self.collection_name: parsed_objects,
        }
Esempio n. 2
0
    def get(self):
        name = self.request.matchdict['name']

        policies_manager = PoliciesManager()

        try:
            policy = policies_manager.get_policy(name)
        except PolicyDoesNotExist:
            raise HTTPNotFound()

        return self.parse_item(policy)