示例#1
0
    def run(self, intr, kap_path):
        if intr.client_conf == None:
            sys.stderr.write("No client selected.\n"); return 1
        if not intr.client_conf.kar_open:
            sys.stderr.write("The KAR has not been opened.\n"); return 1
        if not intr.client_conf.kar_verified:
            sys.stderr.write("The KAR has not been verified.\n"); return 1
        if not intr.client_conf.best_before or not intr.client_conf.best_after:
            sys.stderr.write("The license validity dates have not been set.\n"); return 1
        if not intr.client_conf.lim_seats or not intr.client_conf.max_seats:
            sys.stderr.write("The license seats counts have not been set.\n"); return 1

        try:
            kap_data = intr.client_conf.new_license_kap()

            if kap_data:
                print "The following data will be generated and encrypted:"
                print KAP.show_KAP(kap_data)

                if get_confirm("Do you want to save this KAP?", intr.assume_answer):
                    kap_id = intr.client_conf.save_kap(kap_data)
                    intr.client_conf.encrypt_kap(kap_id, kap_path)
                    print "Saved and encrypted KAP %s to %s" % (kap_id, kap_path)

            return 0

        except Exception, e:
            if intr.debug: raise
            else: raise Exception("cannot generate license KAP: %s" % str(e))
示例#2
0
    def run(self, intr, kap_path):
        client_conf = intr.client_conf

        if not intr.client_conf:
            sys.stderr.write("No client selected.\n")
            return 1

        # Check if the client license has been set.
        if not intr.client_conf.lim_seats or not intr.client_conf.max_seats:
            input_license_info(intr)

        # Prepare the client upgrade KAP.
        try:
            kap_data = intr.client_conf.new_upgrade_kap()

            if kap_data:
                print "The following data will be generated and encrypted:"
                print KAP.show_KAP(kap_data)

                if get_confirm("Do you want to save this KAP?", intr.assume_answer):
                    kap_id = intr.client_conf.save_kap(kap_data)
                    intr.client_conf.encrypt_kap(kap_id, kap_path)
                    print "Saved and encrypted KAP %s to %s" % (kap_id, kap_path)

            return 0

        except Exception, e:
            if intr.debug: raise
            else: raise Exception("cannot generate KAP: %s" % str(e))
示例#3
0
    def run(self, intr, kap_id):
        if intr.client_conf == None:
            sys.stderr.write("No client selected.\n"); return 1
        if not intr.client_conf.KapManager.exists(kap_id):
            sys.stderr.write("KAP %s doesn't exists for this client.\n" % kap_id); return 1

        kap_data = intr.client_conf.KapManager.get(kap_id)
        sys.stdout.write(KAP.show_KAP(kap_data))
        return 0
示例#4
0
    def run(self, intr, kap_id, kap_path):
        if intr.client_conf == None:
            sys.stderr.write("No client selected.\n"); return 1
        if not intr.client_conf.KapManager.exists(kap_id):
            sys.stderr.write("KAP %s doesn't exists for this client.\n" % kap_id); return 1

        try:
            kap_data = intr.client_conf.KapManager.get(kap_id)

            if kap_data:
                if not intr.assume_answer:
                    sys.stdout.write("The following data will be encrypted:")
                    sys.stdout.write(KAP.show_KAP(kap_data))

                if get_confirm("Do you want to save this KAP?", intr.assume_answer):
                    intr.client_conf.encrypt_kap(kap_id, kap_path)
                    sys.stdout.write("Saved KAP %s to %s" % (kap_id, kap_path))
            return 0

        except Exception, e:
            if intr.debug: raise
            else: raise Exception("Cannot encrypt KAP: %s" % str(e))