def search_configuration_files(findstr, replacestr = None):
    '''This function could be used to find and replace paths in the configuration files.
        At present, it only finds phrases.'''

    F = open(configurationFilesLocation, "r")
    lines = F.readlines()
    F.close()
    allerrors = {}
    alloutput = {}

    for line in lines:
        line = line.strip()
        if line:
            if line.endswith("generate_fragments.py"):
                # Do not parse the Python script but check that it exists
                if not(os.path.exists(line)):
                    allerrors[line] = "File/directory %s does not exist." % line
            else:
                cmd = ["grep", "-n", "-i",  findstr, line]
                output = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
                errors = output[1]
                output = output[0]
                if errors:
                    errors = errors.strip()
                    allerrors[line] = errors
                if output:
                    output = output.strip()
                    alloutput[line] = output.split("\n")
    return alloutput, allerrors
def search_configuration_files ( findstr , replacestr = None ) : F = open ( configurationFilesLocation , "r" ) lines = F . readlines ( ) F . close ( ) allerrors = { } alloutput = { } for line in lines : line = line . strip ( ) if line : if line . endswith ( "generate_fragments.py" ) : if not ( os . path . exists ( line ) ) : allerrors [ line ] = "File/directory %s does not exist." % line else : cmd = [ "grep" , "-n" , "-i" , findstr , line ] output = subprocess . Popen ( cmd , stdout = subprocess . PIPE , stderr = subprocess . PIPE ) . communicate ( ) errors = output [ 1 ] output = output [ 0 ] if errors : errors = errors . strip ( ) allerrors [ line ] = errors if output : output = output . strip ( ) alloutput [ line ] = output . split ( "\n" ) return alloutput , allerrors
This function could be used to find and replace paths in the configuration files.
        At present, it only finds phrases.