Exemplo n.º 1
0
    def _add(self, argv):
        options = self._config.options

        if options.filename:
            with open(options.filename, 'r') as f:
                item = json.load(f, object_pairs_hook=OrderedDict)
        elif options.json:
            item = json.loads(options.json, object_pairs_hook=OrderedDict)
        else :
            template_json = json.load(open(os.path.join(Config()._get_templates_path(), self._template)))
            self._complete_template(argv, template_json)
            updated = edit_text(json.dumps(template_json, indent=4))
            item = json.loads(updated, object_pairs_hook=OrderedDict)

        res = self.get_collection(argv)._new(item)
        parameters = {}
        if options.populate:
            parameters["populate"] = "true"
        if options.default:
            parameters["default"] = "true"
        if options.test:
            parameters["test"] = "true"
        if options.flavor != None:
            parameters["flavor"] = options.flavor
        res.create(parameters=parameters)
        res.show(as_json=options.raw)
Exemplo n.º 2
0
    def _add(self, argv):
        options = globals.options

        if options.filename:
            with open(options.filename, 'r') as f:
                item = json.load(f)
        elif options.json:
            item = json.loads(options.json)
        else :
            template_json = json.load(open(os.path.join(Config()._get_templates_path(), self._template)))
            # template = "# To abort the request; just exit your editor without saving this file.\n\n" + template
            self._complete_template(argv, template_json)
            updated = edit_text(json.dumps(template_json, indent = 4))
            # updated = re.sub(r'#.*$', "", updated)
            item = json.loads(updated)

        res = self.get_collection(argv)._new(item)
        parameters = {}
        if options.populate:
            parameters["populate"] = "true"
        if options.default:
            parameters["default"] = "true"
        if options.test:
            parameters["test"] = "true"
        if options.flavor != None:
            parameters["flavor"] = options.flavor
        res.create(parameters = parameters)
        res.show(as_json = options.raw)
Exemplo n.º 3
0
    def _update(self, argv):
        # First, get entity
        res = self._get_entity(argv)
        cur_name = res.name

        # Prune entity fields (all may not be updatable)
        self._prune_json_update(res)

        options = globals.options
        if options.filename:
            with open(options.filename, 'r') as f:
                item = json.load(f)
        elif options.json:
            item = json.loads(options.json)
        elif len(argv) > 0:
            # Edit the entity
            original = json.dumps(res.get_json(), sort_keys = True, indent = 4)
            # original = "# To abort the request; just exit your editor without saving this file.\n\n" + original
            updated = edit_text(original)
            # updated = re.sub(r'#.*$', "", updated)
            item = json.loads(updated)

        # Check if name has changed
        if item.has_key("name"):
            new_name = item["name"]
            if cur_name != new_name:
                res.rename(new_name)

        # Update entity
        res.set_json(item)
        res.update(options.force)
        res.show(as_json = options.raw)
Exemplo n.º 4
0
    def _add(self, argv):
        options = self._config.options

        if options.filename:
            with open(options.filename, 'r') as f:
                item = json.load(f, object_pairs_hook=OrderedDict)
        elif options.json:
            item = json.loads(options.json, object_pairs_hook=OrderedDict)
        else:
            template_json = json.load(
                open(
                    os.path.join(Config()._get_templates_path(),
                                 self._template)))
            self._complete_template(argv, template_json)
            updated = edit_text(json.dumps(template_json, indent=4))
            item = json.loads(updated, object_pairs_hook=OrderedDict)

        res = self.get_collection(argv)._new(item)
        parameters = {}
        if options.populate:
            parameters["populate"] = "true"
        if options.default:
            parameters["default"] = "true"
        if options.test:
            parameters["test"] = "true"
        if options.flavor != None:
            parameters["flavor"] = options.flavor
        res.create(parameters=parameters)
        res.show(as_json=options.raw)
Exemplo n.º 5
0
    def _add(self, argv):
        options = globals.options

        if options.filename:
            with open(options.filename, 'r') as f:
                item = json.load(f)
        elif options.json:
            item = json.loads(options.json)
        else:
            template_json = json.load(
                open(
                    os.path.join(Config()._get_templates_path(),
                                 self._template)))
            # template = "# To abort the request; just exit your editor without saving this file.\n\n" + template
            self._complete_template(argv, template_json)
            updated = edit_text(json.dumps(template_json, indent=4))
            # updated = re.sub(r'#.*$', "", updated)
            item = json.loads(updated)

        res = self.get_collection(argv)._new(item)
        parameters = {}
        if options.populate:
            parameters["populate"] = "true"
        if options.default:
            parameters["default"] = "true"
        if options.test:
            parameters["test"] = "true"
        if options.flavor != None:
            parameters["flavor"] = options.flavor
        res.create(parameters=parameters)
        res.show(as_json=options.raw)
Exemplo n.º 6
0
    def add(self,
            raw=False,
            populate=False,
            default=False,
            test=False,
            flavor=None):
        if self._collection == None or self._template == None:
            raise Exception("Add operation is not available in this container")

        template_json = json.load(
            open(os.path.join(Config()._get_templates_path(), self._template)))
        updated = edit_text(json.dumps(template_json, indent=4))
        entity_data = json.loads(updated, object_pairs_hook=OrderedDict)

        res = self._collection._new(entity_data)

        parameters = {}
        if populate:
            parameters["populate"] = "true"
        if default:
            parameters["default"] = "true"
        if test:
            parameters["test"] = "true"
        if flavor != None:
            parameters["flavor"] = flavor

        res.create(parameters=parameters)
        res.show(as_json=raw)
Exemplo n.º 7
0
    def _update(self, argv):
        # First, get entity
        res = self._get_entity(argv)
        cur_name = res.name

        # Prune entity fields (all may not be updatable)
        self._prune_json_update(res)

        options = globals.options
        if options.filename:
            with open(options.filename, 'r') as f:
                item = json.load(f)
        elif options.json:
            item = json.loads(options.json)
        elif len(argv) > 0:
            # Edit the entity
            original = json.dumps(res.get_json(), sort_keys=True, indent=4)
            # original = "# To abort the request; just exit your editor without saving this file.\n\n" + original
            updated = edit_text(original)
            # updated = re.sub(r'#.*$', "", updated)
            item = json.loads(updated)

        # Check if name has changed
        if item.has_key("name"):
            new_name = item["name"]
            if cur_name != new_name:
                res.rename(new_name)

        # Update entity
        res.set_json(item)
        res.update(options.force)
        res.show(as_json=options.raw)
Exemplo n.º 8
0
 def update(self, json_data):
     if self._options.filename:
         with open(self._options.filename, 'r') as f:
             return json.load(f, object_pairs_hook=OrderedDict)
     elif self._options.json:
         return json.loads(self._options.json, object_pairs_hook=OrderedDict)
     else:
         original = json_data.get_real_json(indent = 4)
         updated = edit_text(original, ignore_not_modified=self._ignore_not_modified)
         return json.loads(updated, object_pairs_hook=OrderedDict)
Exemplo n.º 9
0
 def update(self, json_data):
     if self._options.filename:
         with open(self._options.filename, 'r') as f:
             return json.load(f, object_pairs_hook=OrderedDict)
     elif self._options.json:
         return json.loads(self._options.json,
                           object_pairs_hook=OrderedDict)
     else:
         original = json_data.get_real_json(indent=4)
         updated = edit_text(original,
                             ignore_not_modified=self._ignore_not_modified)
         return json.loads(updated, object_pairs_hook=OrderedDict)
Exemplo n.º 10
0
    def _purchase(self, argv):
        if len(argv) < 2:
            raise ArgumentException("A published entity UUID and an organization name must be provided")

        org = self._client.organizations().get(argv[1])
        pub = self.get_collection(argv).get(argv[0], parameters = {"org_name" : argv[1]})

        template_json = json.load(open(os.path.join(Config()._get_templates_path(), self._template)))
        template_json["published"] = pub.uuid
        template_json["name"] = pub.name
        updated = edit_text(json.dumps(template_json, indent = 4))

        pur_app = self.get_purchased_collection(org)._new(json.loads(updated))
        pur_app.create()
Exemplo n.º 11
0
    def _update_authorized(self, argv):
        app = self._ctrl._get_entity(argv)

        if app.published_as is None:
            raise PythonApiException(self._type_name + " is not published")

        try:
            pub = self.store().get(app.published_as, {"org_name": argv[0]})
        except PythonApiException:
            raise ControllerException(
                "Unable to retrieve entity from store, maybe you forgot to use --org option?"
            )
        updated = edit_text(json.dumps(pub.authorized, indent=4))
        pub.update_authorized(
            json.loads(updated, object_pairs_hook=OrderedDict))
Exemplo n.º 12
0
    def update(self):
        cur_name = self._entity.name

        # Edit the entity
        original = self._entity.get_real_json(indent = 4)
        new_data = json.loads(edit_text(original), object_pairs_hook=OrderedDict)

        # Check if name has changed
        if "name" in new_data:
            new_name = new_data["name"]
            if cur_name != new_name:
                self._current.rename(new_name)

        # Update entity
        self._entity.set_json(new_data)
        self._entity.update()
        self._entity.show()
Exemplo n.º 13
0
    def update(self):
        cur_name = self._entity.name

        # Edit the entity
        original = json.dumps(self._entity.get_json(), sort_keys = True, indent = 4)
        new_data = json.loads(edit_text(original))

        # Check if name has changed
        if new_data.has_key("name"):
            new_name = new_data["name"]
            if cur_name != new_name:
                self._current.rename(new_name)

        # Update entity
        self._entity.set_json(new_data)
        self._entity.update()
        self._entity.show()
Exemplo n.º 14
0
    def update(self):
        cur_name = self._entity.name

        # Edit the entity
        original = self._entity.get_real_json(indent=4)
        new_data = json.loads(edit_text(original),
                              object_pairs_hook=OrderedDict)

        # Check if name has changed
        if "name" in new_data:
            new_name = new_data["name"]
            if cur_name != new_name:
                self._current.rename(new_name)

        # Update entity
        self._entity.set_json(new_data)
        self._entity.update()
        self._entity.show()
Exemplo n.º 15
0
    def _purchase(self, argv):
        if len(argv) < 2:
            raise ArgumentException(
                "A published entity UUID and an organization name must be provided"
            )

        org = self._client.organizations().get(argv[1])
        pub = self.get_collection(argv).get(argv[0],
                                            parameters={"org_name": argv[1]})

        template_json = json.load(
            open(os.path.join(Config()._get_templates_path(), self._template)))
        template_json["published"] = pub.uuid
        template_json["name"] = pub.name
        updated = edit_text(json.dumps(template_json, indent=4))

        pur_app = self.get_purchased_collection(org)._new(json.loads(updated))
        pur_app.create()
Exemplo n.º 16
0
    def update(self):
        cur_name = self._entity.name

        # Edit the entity
        original = json.dumps(self._entity.get_json(),
                              sort_keys=True,
                              indent=4)
        new_data = json.loads(edit_text(original))

        # Check if name has changed
        if new_data.has_key("name"):
            new_name = new_data["name"]
            if cur_name != new_name:
                self._current.rename(new_name)

        # Update entity
        self._entity.set_json(new_data)
        self._entity.update()
        self._entity.show()
Exemplo n.º 17
0
    def add(self, raw = False, populate = False, default = False, test = False, flavor = None):
        if self._collection == None or self._template == None:
            raise Exception("Add operation is not available in this container")

        template_json = json.load(open(os.path.join(Config()._get_templates_path(), self._template)))
        updated = edit_text(json.dumps(template_json, indent = 4))
        entity_data = json.loads(updated, object_pairs_hook=OrderedDict)

        res = self._collection._new(entity_data)

        parameters = {}
        if populate:
            parameters["populate"] = "true"
        if default:
            parameters["default"] = "true"
        if test:
            parameters["test"] = "true"
        if flavor != None:
            parameters["flavor"] = flavor

        res.create(parameters = parameters)
        res.show(as_json = raw)