Ignore:
Timestamp:
Apr 22, 2009, 11:19:26 AM (15 years ago)
Author:
rwilson
Message:

Made copy_code_files() copy any number of files, plus testcase.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/shallow_water/data_manager.py

    r6711 r6873  
    66756675
    66766676
    6677 # FIXME (DSG): Add unit test, make general, not just 2 files,
    6678 # but any number of files.
    66796677##
    66806678# @brief Copy a file to a directory, and optionally append another file to it.
     
    66826680# @param filename Path to file to copy to directory 'dir_name'.
    66836681# @param filename2 Optional path to file to append to copied file.
    6684 def copy_code_files(dir_name, filename1, filename2=None):
     6682# @param verbose True if this function is to be verbose.
     6683# @note Allow filenames to be either a string or sequence of strings.
     6684def copy_code_files(dir_name, filename1, filename2=None, verbose=False):
    66856685    """Copies "filename1" and "filename2" to "dir_name".
    6686     Very useful for information management
    6687     filename1 and filename2 are both absolute pathnames
    6688     """
    6689 
     6686
     6687    Each 'filename' may be a string or list of filename strings.
     6688
     6689    Filenames must be absolute pathnames
     6690    """
     6691
     6692    ##
     6693    # @brief copies a file or sequence to destination directory.
     6694    # @param dest The destination directory to copy to.
     6695    # @param file A filename string or sequence of filename strings.
     6696    def copy_file_or_sequence(dest, file):
     6697        if hasattr(file, '__iter__'):
     6698            for f in file:
     6699                shutil.copy(f, dir_name)
     6700                if verbose:
     6701                    print 'File %s copied' % (f)
     6702        else:
     6703            shutil.copy(file, dir_name)
     6704            if verbose:
     6705                print 'File %s copied' % (file)
     6706
     6707    # check we have a destination directory, create if necessary
    66906708    if access(dir_name, F_OK) == 0:
    6691         print 'Make directory %s' % dir_name
    6692         mkdir (dir_name,0777)
    6693 
    6694     shutil.copy(filename1, dir_name + sep + basename(filename1))
    6695 
    6696     if filename2 != None:
    6697         shutil.copy(filename2, dir_name + sep + basename(filename2))
    6698         print 'Files %s and %s copied' %(filename1, filename2)
    6699     else:
    6700         print 'File %s copied' %(filename1)
     6709        mkdir(dir_name, 0777)
     6710
     6711    copy_file_or_sequence(dir_name, filename1)
     6712
     6713    if not filename2 is None:
     6714        copy_file_or_sequence(dir_name, filename2)
    67016715
    67026716
Note: See TracChangeset for help on using the changeset viewer.