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)
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)