def secondary_files(p, outputBinding, evaluator): secondaryFiles = [] secFiles = wrap_in_list(evaluator.resolve(outputBinding.get('secondaryFiles', []))) for s in secFiles: path = sec_files_naming_conv(p, s) secondaryFiles.append({'path': to_abspath(path)}) return secondaryFiles
def secondaryFiles(p, adapter): secondaryFiles = [] secFiles = adapter.get('secondaryFiles', []) for s in secFiles: path = sec_files_naming_conv(p, s) secondaryFiles.append({'path': path}) return secondaryFiles
def secondary_files(p, outputBinding, evaluator): secondaryFiles = [] secFiles = wrap_in_list( evaluator.resolve(outputBinding.get('secondaryFiles', []))) for s in secFiles: path = sec_files_naming_conv(p, s) secondaryFiles.append({'path': to_abspath(path)}) return secondaryFiles
def _get_secondary_files(self, secondaryFiles, input, autodetect=True, prompt=True): def secondary_files_autodetect(path): log.info('Searching for additional files for file: %s', path) return [ fn for fn in glob.glob(path + '.*') if not (basename(fn).endswith('.meta') or basename(fn).endswith('.rbx.json')) ] secFiles = [] if secondaryFiles: for n, sf in enumerate(secondaryFiles): path = sec_files_naming_conv(input.path, sf) log.info('Downloading: %s', path) secFiles.append( File(self._download(URL(path), metasearch=False))) if autodetect: if not secondaryFiles: secondaryFiles = [] autodetected = secondary_files_autodetect(input.path) ad = [] names = [basename(f) for f in secondaryFiles] for sf in autodetected: sf = sf.replace(input.path, '') if sf not in names: ad.append(six.text_type(sf)) if ad: cont = raw_input('Do you want to include autodetected ' 'additional files for file %s %s? [Y/n] ' % (input, six.text_type(ad))).lower().strip() if cont == 'y' or cont == '': log.info("Additional files %s included" % six.text_type(ad)) secFiles.extend( self._get_secondary_files(ad, input, autodetect=False, prompt=False)) if prompt: prompt = self._prompt_files(input, secFiles=secondaryFiles) secFiles.extend( self._get_secondary_files(prompt, input, autodetect=False, prompt=False)) return secFiles
def _get_secondary_files(self, secondaryFiles, input, autodetect=True, prompt=True): def secondary_files_autodetect(path): log.info('Searching for additional files for file: %s', path) return [fn for fn in glob.glob(path + '.*') if not (basename(fn).endswith('.meta') or basename(fn).endswith('.rbx.json')) ] secFiles = [] if secondaryFiles: for n, sf in enumerate(secondaryFiles): path = sec_files_naming_conv(input.path, sf) log.info('Downloading: %s', path) secFiles.append(File(self._download(URL(path), metasearch=False))) if autodetect: if not secondaryFiles: secondaryFiles = [] autodetected = secondary_files_autodetect(input.path) ad = [] names = [basename(f) for f in secondaryFiles] for sf in autodetected: sf = sf.replace(input.path, '') if sf not in names: ad.append(six.text_type(sf)) if ad: cont = raw_input('Do you want to include autodetected ' 'additional files for file %s %s? [Y/n] ' % (input, six.text_type(ad))).lower().strip() if cont == 'y' or cont == '': log.info("Additional files %s included" % six.text_type(ad)) secFiles.extend(self._get_secondary_files( ad, input, autodetect=False, prompt=False)) if prompt: prompt = self._prompt_files(input, secFiles=secondaryFiles) secFiles.extend(self._get_secondary_files( prompt, input, autodetect=False, prompt=False)) return secFiles