Example #1
0
 def select(self):
     options = []
     for i in self.__keys__:
         print('i:', i)
         line = '{}: {}'.format(self.__keys__[i]['comment'], self.__keys__[i]['fingerprint'])
         options.append(line)
     return menu_return_num('KEYS', options)
 def select(self):
     options = []
     d = self.table_dict()
     for i in d:
         # print ('i:', i)
         line = '{}: {}'.format(d[i]['name'], d[i]['fingerprint'])
         options.append(line)
     num = menu_return_num('KEYS', options)
     if num != 'q':
         return options[num]
     return num
Example #3
0
    def do_select(self, args, arguments):
        """
        ::

          Usage:
              select image [CLOUD]
              select flavor [CLOUD]
              select cloud [CLOUD]
              select key [CLOUD]

          selects interactively the default values

          Arguments:

            CLOUD    the name of the cloud

          Options:

        """
        # pprint(arguments)
        cloud = arguments["CLOUD"] or Default.get_cloud()
        if arguments["image"]:
            try:
                image_dict = Image.list(cloud, format="dict")

                image_names = list()
                for image in image_dict.values():
                    image_names.append(image["name"])

                number = menu_return_num(title="Select an Image",
                                         menu_list=image_names,
                                         tries=10,
                                         with_display=True)

                if number == "q":
                    pass
                else:
                    image = image_names[number]
                    print("Selected image " + image)
                    Default.set("image", image, cloud=cloud)
            except:
                print("ERROR: could not set image.")

        elif arguments["flavor"]:
            try:
                flavor_dict = Flavor.list(cloud, format="dict")

                flavor_names = list()
                for flavor in flavor_dict.values():
                    flavor_names.append(flavor["name"])

                number = menu_return_num(title="Select a Flavor",
                                         menu_list=flavor_names,
                                         tries=10,
                                         with_display=True)

                if number == "q":
                    pass
                else:
                    flavor = flavor_names[number]
                    print("Selected flavor " + flavor)
                    Default.set("flavor", flavor, cloud=cloud)
            except:
                print("ERROR: could not set flavor.")

        elif arguments["cloud"]:
            try:
                config = ConfigDict("cloudmesh.yaml")
                clouds = config["cloudmesh"]["clouds"]

                for key in clouds.keys():
                    Console.ok("  " + key)

                number = menu_return_num(title="Select a cloud",
                                         menu_list=clouds.keys(),
                                         tries=10,
                                         with_display=True)
                if number == "q":
                    pass
                else:
                    cloud = clouds.keys()[number]
                    print("Selected cloud " + cloud)
                    Default.set("cloud", cloud, "general")
            except:
                print("ERROR: could not set cloud.")

        elif arguments["key"]:
            try:
                db = SSHKeyDBManager()

                key_dict = db.table_dict()

                key_names = list()
                for key in key_dict.values():
                    key_names.append(key["name"])

                number = menu_return_num(title="Select a Key",
                                         menu_list=key_names,
                                         tries=10,
                                         with_display=True)

                if number == "q":
                    pass
                else:
                    key = key_names[number]
                    print("Selected key " + key)

                    # TODO Fix default key setting in key DB
                    # db.set_default(key)

                    Default.set("key", key, cloud=cloud)
            except:
                print("ERROR: could not set key")

        return ""
Example #4
0
    def do_select(self, args, arguments):
        """
        ::

          Usage:
              select image [CLOUD]
              select flavor [CLOUD]
              select cloud [CLOUD]
              select key [CLOUD]

          selects interactively the default values

          Arguments:

            CLOUD    the name of the cloud

          Options:

        """
        pprint(arguments)
        cloud = arguments["CLOUD"]
        if arguments["image"]:
            pass
        elif arguments["flavor"]:
            pass
        elif arguments["cloud"]:

            config = ConfigDict("cloudmesh.yaml")
            clouds = config["cloudmesh"]["clouds"]

            for key in clouds.keys():
                Console.ok("  " + key)

            number = menu_return_num(title="Select a cloud",
                                     menu_list=clouds.keys(),
                                     tries=10,
                                     with_display=True)
            if number == "q":
                pass
            else:
                cloud = clouds.keys()[number]

            print("Selected cloud " + cloud)
            Default.set("cloud", cloud, "general")

        elif arguments["key"]:

            db = SSHKeyDBManager()

            d = db.table_dict()

            try:
                element = dict_choice(d)

                keyname = element["name"]
                print("Set default key to ", keyname)
                db.set_default(keyname)
                Default.set("key", keyname, "general")

            except:
                print("ERROR: could not set key")

        return ""