def available_data(mod_name): """ Returns list of (oid, option) pairs """ mod_dir = get_mod_dir(mod_name) files = sys_utils.get_files_from_directory(mod_dir) data = list() if not files: return list() # empty list for f in files: base = os.path.basename(f) components = base.split(COMPONENT_DELIM, 1) if len(components) == 1: # no options present oid = components[0] opts = {} else: # len must be 2 (assumed) oid, suffix = components opts = parse_suffix(mod_name, suffix) data.append ( [oid, opts] ) return data
def retrieve_all_keys(mod_name): mod_dir = get_mod_dir(mod_name) files = sys_utils.get_files_from_directory(mod_dir) if files: return [ os.path.basename(f) for f in files ] else: return None
def import_upx(args, opts): """ Import the contents of a upx file. Does not import the upx file itself. Passes a list of imported oids. """ if not args: raise ShellSyntaxError("No files/dir passed") oids = [] newfiles = [] for arg in args: if os.path.isdir(arg): print " - Processing upx files in directory %s" % arg files = sys_utils.get_files_from_directory(arg) p = progress.progress(len(files)) for f in files: uoids, noids = import_upxfile(f) oids.extend(uoids) newfiles.extend(noids) p.tick() elif os.path.isfile(arg): print " - Processing file %s ..." uoids, noids = import_upxfile(arg) oids.extend(uoids) newfiles.extend(noids) else: print " - %s not found" % (arg) print " - Extracted %d files %d are new" % (len(oids), len(newfiles)) return oids
def local_available_data(plugin_name): plugin_dir = os.path.join(localstore_dir, plugin_name) files = sys_utils.get_files_from_directory(plugin_dir) data_names = [] if not files: return data_names for f in files: data_names.append(f) return data_names
def local_retrieve_all(plugin_name): plugin_dir = os.path.join(localstore_dir, plugin_name) files = sys_utils.get_files_from_directory(plugin_dir) results = {} if not files: return results for f in files: data = sys_utils.read_object_from_file(f) data_name = os.path.basename(f) results[data_name] = data return results
def retrieve_all(mod_name): mod_dir = get_mod_dir(mod_name) files = sys_utils.get_files_from_directory(mod_dir) results = {} if not files: return results for f in files: data = sys_utils.read_object_from_file(f) mangled_name = os.path.basename(f) results[mangled_name] = data return results
def local_retrieve_recent(plugin_name): plugin_dir = os.path.join(localstore_dir, plugin_name) plugin_dir = os.path.join(localstore_dir, plugin_name) files = sys_utils.get_files_from_directory(plugin_dir) best = (None,0) for f in files: if os.path.getmtime(f) > best[1]: best = (f, os.path.getmtime(f)) data = sys_utils.read_object_from_file(best[0]) if data == None: logger.error("Not able to retrieve data at %s", filename) return None return data
def import_directory(self, directory): """ Process the local directory calling the local import on each file """ files_list = sys_utils.get_files_from_directory(directory) if files_list == None: return None, 0 oids = [] num_new_files = 0 p = progress.progress(len(files_list)) for file_location in files_list: oid, new_file = self.import_file(file_location) p.tick() if oid: oids.append(oid) if new_file: num_new_files += 1 oids = list(set(oids)) # assert uniqueness return oids, num_new_files
def import_directory(directory): files = sys_utils.get_files_from_directory(directory) if files == None: return None, 0 return import_files(files)