def __convert_genepop_file_to_neestimator_basename( self, s_genepop_file ): ''' For intermediate NeEstimator input/output files, pgdriveneestimator replaces dot chars in the file name with underscores (adaptation to the Ne2L programs file-truncation in nameing output files (see pgdriveneestimator) ''' s_filename_no_path=pgut.get_basename_from_path( s_genepop_file ) s_filename_dots_replaced=s_filename_no_path.replace( ".", pgdn.INPUT_FILE_DOT_CHAR_REPLACEMENT ) s_dirname_genepop_file = \ pgut.get_dirname_from_path( s_genepop_file ) s_pathsep=pgut.get_separator_character_for_current_os() s_reformatted_genepop_file_base=s_pathsep.join( \ [ s_dirname_genepop_file, s_filename_dots_replaced ] ) return s_reformatted_genepop_file_base
def __update_genepop_file_listbox( self ): self.__genepop_files_listbox.config( state="normal" ) #clear the list box of current entries: self.__genepop_files_listbox.delete( 0, END ) s_genepopfiles=self.__genepopfiles.get() ls_files=s_genepopfiles.split( DELIMITER_GENEPOP_FILES ) ls_basenames=[ pgut.get_basename_from_path( s_file ) \ for s_file in ls_files ] ls_basenames.sort() for s_basename in ls_basenames: self.__genepop_files_listbox.insert( END, s_basename ) self.__genepop_files_listbox.itemconfig( END, foreground="white" ) #end for each basename self.__genepop_files_listbox.config( state="disabled" ) return
def __get_list_bad_genepop_file_names( self ): MSG_NOT_EXIST=": file does not exist" MSG_NAME_TOO_LONG=": file name cannot exceed " \ + str( MAX_GENEPOP_FILE_NAME_LENGTH ) \ + " characters." ls_bad_filenames=[] s_genepopfiles=self.__genepopfiles.get() ls_genepopfiles=s_genepopfiles.split( DELIMITER_GENEPOP_FILES ) s_list_of_bad_filenames_with_messages=[] for s_file in ls_genepopfiles: s_basename=pgut.get_basename_from_path( s_file ) if not ( pgut.does_exist_and_is_file( s_file ) ): ls_bad_filenames.append( s_file + MSG_NOT_EXIST ) elif len( s_basename )\ > MAX_GENEPOP_FILE_NAME_LENGTH: ls_bad_filenames.append( s_basename + MSG_NAME_TOO_LONG ) #end if bad filename #end for each file return ls_bad_filenames