def main(argv: List[str]) -> int: flags = ScreenFlags.init_from_args(argv[1:]) if flags.get_is_clean_mode(): print("Cleaning out state files...") for file_path in state_files.get_all_state_files(): if os.path.isfile(file_path): os.remove(file_path) print(f"Done! Removed {len(state_files.get_all_state_files())} files ") return 0 if sys.stdin.isatty(): # don't keep the old selection if the --keep-open option is used; # otherwise you need to manually clear the old selection every # time fpp is reopened. if flags.get_keep_open(): # delete the old selection selection_path = state_files.get_selection_file_path() if os.path.isfile(selection_path): os.remove(selection_path) if os.path.isfile(state_files.get_pickle_file_path()): print("Using previous input piped to fpp...") else: usage() # let the next stage parse the old version else: # delete the old selection selection_path = state_files.get_selection_file_path() if os.path.isfile(selection_path): os.remove(selection_path) do_program(flags) return 0
def main(argv: List[str]) -> int: flags = ScreenFlags.init_from_args(argv[1:]) if flags.get_is_clean_mode(): print("Cleaning out state files...") for file_path in state_files.get_all_state_files(): if os.path.isfile(file_path): os.remove(file_path) print(f"Done! Removed {len(state_files.get_all_state_files())} files ") return 0 if sys.stdin.isatty(): if os.path.isfile(state_files.get_pickle_file_path()): print("Using previous input piped to fpp...") else: usage() # let the next stage parse the old version else: # delete the old selection selection_path = state_files.get_selection_file_path() if os.path.isfile(selection_path): os.remove(selection_path) do_program(flags) return 0
def get_line_objs() -> Dict[int, LineBase]: file_path = state_files.get_pickle_file_path() try: line_objs: Dict[int, LineBase] = pickle.load(open(file_path, "rb")) except (OSError, KeyError, pickle.PickleError): output.append_error(LOAD_SELECTION_WARNING) output.append_exit() sys.exit(1) logger.add_event("total_num_files", len(line_objs)) selection_path = state_files.get_selection_file_path() if os.path.isfile(selection_path): set_selections_from_pickle(selection_path, line_objs) matches = [ line_obj for line_obj in line_objs.values() if isinstance(line_obj, LineMatch) ] if not matches: output.write_to_file('echo "No lines matched!";') output.append_exit() sys.exit(0) return line_objs
def output_selection(line_objs: List[LineMatch]) -> None: file_path = state_files.get_selection_file_path() indices = [line.index for line in line_objs] file = open(file_path, "wb") pickle.dump(indices, file) file.close()