Exemple #1
0
    def ext_check(self, verbose=False, autofix=False, interactive=False):
        rtcbins = [
            rtc.strip() for rtc in self['manager.modules.preload'].split(',')
            if not len(rtc.strip()) == 0
        ]
        valid_bins = []
        for rtcbin in rtcbins:
            if not rtcbin.endswith(wasanbon.get_bin_file_ext()):
                if verbose or interactive:
                    sys.stdout.write(
                        ' - Detect invalid bin file expression (%s)\n' %
                        rtcbin)
                valid_name = rtcbin[:rtcbin.
                                    rfind('.')] + wasanbon.get_bin_file_ext()
                if interactive or autofix:
                    res = []
                    if autofix:
                        res = 'yes'
                    else:
                        res = util.yes_no(
                            ' - Change file name from %s to %s?' %
                            (rtcbin, valid_name))
                    if res == 'yes':
                        if verbose or interactive:
                            sys.stdout.write(' - Changed.\n')
                        valid_bins.append(valid_name)
                    else:
                        valid_bins.append(rtcbin)

        self['manager.modules.preload'] = ''
        for rtcbin in valid_bins:
            self.append('manager.modules.preload', rtcbin)
        pass
    def ext_check(self, verbose=False, autofix=False, interactive=False):
        rtcbins = [rtc.strip() for rtc in self['manager.modules.preload'].split(',') if not len(rtc.strip()) == 0]
        valid_bins = []
        for rtcbin in rtcbins:
            if not rtcbin.endswith(wasanbon.get_bin_file_ext()):
                if verbose or interactive:
                    sys.stdout.write(' - Detect invalid bin file expression (%s)\n' % rtcbin)
                valid_name = rtcbin[:rtcbin.rfind('.')] + wasanbon.get_bin_file_ext()
                if interactive or autofix:
                    res = []
                    if autofix:
                        res = 'yes'
                    else:
                        res = util.yes_no(' - Change file name from %s to %s?' % (rtcbin, valid_name))
                    if res == 'yes':
                        if verbose or interactive:
                            sys.stdout.write(' - Changed.\n')
                        valid_bins.append(valid_name)
                    else:
                        valid_bins.append(rtcbin)

        
        self['manager.modules.preload'] = ''
        for rtcbin in valid_bins:
            self.append('manager.modules.preload', rtcbin)
        pass
Exemple #3
0
    def uninstall_rtc_from_package(self,
                                   package,
                                   rtc,
                                   rtcconf_filename=None,
                                   verbose=False):
        if self.is_installed(package, rtc, standalone=True):
            return self.uninstall_standalone_rtc_from_package(package,
                                                              rtc,
                                                              verbose=verbose)

        if verbose:
            sys.stdout.write('## Uninstall RTC (%s) from package\n' %
                             rtc.rtcprofile.basicInfo.name)
        if rtcconf_filename:
            rtcconf = admin.rtcconf.RTCConf(rtcconf_filename)
        else:
            rtcconf = admin.rtcconf.RTCConf(
                package.rtcconf[rtc.rtcprofile.language.kind])

        name = rtc.rtcprofile.basicInfo.name
        targetfile = os.path.join(package.get_binpath(),
                                  os.path.basename(rtc.get_rtc_file_path()))
        language = rtc.rtcprofile.language.kind
        if language == 'C++':
            filename = name + wasanbon.get_bin_file_ext()
        elif language == 'Java':
            filename = name + '.jar'
        elif language == 'Python':
            filename = name + '.py'
        else:
            raise wasanbon.UnsupportedSystemException()

        rtcconf.remove('manager.components.precreate', name, verbose=verbose)
        if len(rtcconf['manager.components.precreate'].strip()) == 0:
            rtcconf.remove('manager.components.precreate')

        rtcconf.remove('manager.modules.preload', filename, verbose=verbose)
        if len(rtcconf['manager.modules.preload'].strip()) == 0:
            rtcconf.remove('manager.modules.preload')
            rtcconf.remove('manager.modules.load_path')

        keys = [
            rtc.rtcprofile.basicInfo.category + '.' +
            rtc.rtcprofile.basicInfo.name + '.config_file'
        ]
        for i in range(0, 16):
            keys.append(rtc.rtcprofile.basicInfo.category + '.' +
                        rtc.rtcprofile.basicInfo.name + str(i) +
                        '.config_file')

        for k in keys:
            rtcconf.remove(k)

        rtcconf.sync()
    def uninstall_rtc_from_package(self, package, rtc, rtcconf_filename=None, verbose=False):
        if self.is_installed(package, rtc, standalone=True):
            return self.uninstall_standalone_rtc_from_package(package, rtc, verbose=verbose)

        if verbose:
            sys.stdout.write("## Uninstall RTC (%s) from package\n" % rtc.rtcprofile.basicInfo.name)
        if rtcconf_filename:
            rtcconf = admin.rtcconf.RTCConf(rtcconf_filename)
        else:
            rtcconf = admin.rtcconf.RTCConf(package.rtcconf[rtc.rtcprofile.language.kind])

        name = rtc.rtcprofile.basicInfo.name
        targetfile = os.path.join(package.get_binpath(), os.path.basename(rtc.get_rtc_file_path()))
        language = rtc.rtcprofile.language.kind
        if language == "C++":
            filename = name + wasanbon.get_bin_file_ext()
        elif language == "Java":
            filename = name + ".jar"
        elif language == "Python":
            filename = name + ".py"
        else:
            raise wasanbon.UnsupportedSystemException()

        rtcconf.remove("manager.components.precreate", name, verbose=verbose)
        if len(rtcconf["manager.components.precreate"].strip()) == 0:
            rtcconf.remove("manager.components.precreate")

        rtcconf.remove("manager.modules.preload", filename, verbose=verbose)
        if len(rtcconf["manager.modules.preload"].strip()) == 0:
            rtcconf.remove("manager.modules.preload")
            rtcconf.remove("manager.modules.load_path")

        keys = [rtc.rtcprofile.basicInfo.category + "." + rtc.rtcprofile.basicInfo.name + ".config_file"]
        for i in range(0, 16):
            keys.append(
                rtc.rtcprofile.basicInfo.category + "." + rtc.rtcprofile.basicInfo.name + str(i) + ".config_file"
            )

        for k in keys:
            rtcconf.remove(k)

        rtcconf.sync()