Пример #1
0
    def get(self, pod_name=None):
        """
        Get all pods or a single pod
        :param pod_id:
        """
        get_request = dict()

        if pod_name is not None:
            get_request["name"] = pod_name

        res = []
        cursor = self.db.pod.find(get_request)
        while (yield cursor.fetch_next):
            pod = Pod.pod_from_dict(cursor.next_object())
            res.append(pod.format())

        meta = dict()
        meta["total"] = len(res)
        meta["success"] = True if len(res) > 0 else False

        answer = dict()
        answer["pods"] = res
        answer["meta"] = meta

        self.finish_request(answer)
Пример #2
0
    def post(self):
        """ Create a POD"""

        if self.json_args is None:
            raise HTTPError(HTTP_BAD_REQUEST)

        query = {"name": self.json_args.get("name")}

        # check for existing name in db
        mongo_dict = yield self.db.pod.find_one(query)
        if mongo_dict is not None:
            raise HTTPError(HTTP_FORBIDDEN, "{} already exists as a pod".format(self.json_args.get("name")))

        pod = Pod.pod_from_dict(self.json_args)
        pod.creation_date = datetime.now()

        future = self.db.pod.insert(pod.format())
        result = yield future
        pod._id = result

        meta = dict()
        meta["success"] = True
        meta["uri"] = "/pods/{}".format(pod.name)

        answer = dict()
        answer["pod"] = pod.format_http()
        answer["meta"] = meta

        self.finish_request(answer)