def write_binary_file(file_name, file_data): try: with open(file_name, "wb+") as file_bin: file_bin.write(file_data) except IOError as ex: raise e.LoadFileException( str(ex) + '\nUnable to binary write ' + file_name)
def rename(file_name, new_file_name): # Rename a file try: os.rename(file_name, new_file_name) except OSError as ex: raise e.LoadFileException( str(ex) + '\nUnable to rename ' + file_name + ' to ' + new_file_name)
def get_binary_file(file_name): try: with open(file_name, "rb+") as file_bin: return file_bin.read() except IOError as ex: raise e.LoadFileException( str(ex) + '\nUnable to binary load ' + file_name)
def find_dir(top_dir, exclude_dir_prefix): '''Walk trought the directory tree and return all the directory except for the base directory and the exclude_dir_prefix folder''' try: for dir_path, dir_names, file_names in os.walk(top_dir): if not exclude_dir_prefix or (dir_path != top_dir and dir_path != top_dir + exclude_dir_prefix): yield dir_path except (IOError, OSError) as ex: raise e.LoadFileException(str(ex)+'\nUnable to load ' + top_dir + ' excluding ' + exclude_dir_prefix)
def load_xml(file_name): # Load an XML file try: parser = ET.XMLParser(encoding="utf-8") return ET.parse(os.path.join(base_dir(), file_name), parser=parser) except IOError as ex: if ex.errno == 2: raise e.FileNotFound else: raise e.LoadFileException(str(ex)+'\nUnable to load XML ' + base_dir() + file_name)
def find_files(top_dir, pattern, exclude_dir_prefix): '''Walk trought the directory tree and return all the files that respect the pattern and do not are in the exclude_dir_prefix folder''' try: for dir_path, dir_names, file_names in os.walk(top_dir): for file_name in file_names: if not exclude_dir_prefix or not get_file_name(dir_path).startswith(exclude_dir_prefix): if fnmatch.fnmatch(file_name, pattern): yield os.path.join(dir_path, file_name) except (IOError, OSError) as ex: raise e.LoadFileException(str(ex)+'\nUnable to load ' + top_dir + ' with pattern ' + pattern + ' excluding ' + exclude_dir_prefix)
def get_text_file(file_name): # Get a text from a file try: with open(os.path.join(ob_dir(), file_name)) as file_list: return file_list.read() except IOError as ex: raise e.LoadFileException(str(ex) + '\nUnable to load ' + file_name)
def base_name(file_name): # Return the filename in a path try: return os.path.basename(file_name) except OSError as ex: raise e.LoadFileException( str(ex) + '\nUnable to load path for ' + file_name)
def write_text_file(file_name, file_data): # Write a text to a file try: with open(file_name, 'w') as file_list: return file_list.write(file_data) except IOError as ex: raise e.LoadFileException(str(ex) + '\nUnable to write ' + file_name)
def open_file_input(file_name): # Open a file for inline editing try: return fileinput.input(file_name, inplace=1) except IOError as ex: raise e.LoadFileException( str(ex) + '\nUnable to edit inplace file ' + file_name)
def rename_dir(source_dir, dest_dir): # Rename a directory try: os.renames(source_dir, dest_dir) except OSError as ex: raise e.LoadFileException( str(ex) + '\nUnable to rename ' + source_dir + ' to ' + dest_dir)
def save_xml(file_name, xml_file): # Save an XML file try: xml_file.write(os.path.join(base_dir(), file_name)) except IOError as ex: raise e.LoadFileException( str(ex) + '\nUnable to save XML ' + base_dir() + file_name)