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