Changeset f85bc15 for src/tests/pybin/tools.py
- Timestamp:
- Jul 23, 2018, 4:46:36 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 552f5cb
- Parents:
- 46782ab5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/tests/pybin/tools.py
r46782ab5 rf85bc15 9 9 import stat 10 10 import sys 11 import fileinput 11 12 12 13 from pybin import settings … … 33 34 out, err = proc.communicate() 34 35 return proc.returncode, out 36 37 def is_ascii(fname): 38 if not os.path.isfile(fname): 39 return False 40 41 code, out = sh("file %s" % fname, print2stdout = False) 42 if code != 0: 43 return False 44 45 match = re.search(".*: (.*)", out) 46 47 if not match: 48 return False 49 50 return match.group(1) == "ASCII text" 35 51 36 52 # Remove 1 or more files silently … … 105 121 # helper function to replace patterns in a file 106 122 def file_replace(fname, pat, s_after): 107 # first, see if the pattern is even in the file. 108 with open(fname) as f: 109 if not any(re.search(pat, line) for line in f): 110 return # pattern does not occur in file so we are done. 111 112 # pattern is in the file, so perform replace operation. 113 with open(fname) as f: 114 out_fname = fname + ".tmp" 115 out = open(out_fname, "w") 116 for line in f: 117 out.write(re.sub(pat, s_after, line)) 118 out.close() 119 os.rename(out_fname, fname) 123 file = fileinput.FileInput(fname, inplace=True, backup='.bak') 124 for line in file: 125 print(line.replace(pat, s_after), end='') 126 file.close() 120 127 121 128 # helper function to check if a files contains only a specific string … … 140 147 # transform path to canonical form 141 148 def canonicalPath(path): 142 return os.path.join('.', os.path.normpath(path) ) 149 abspath = os.path.abspath(__main__.__file__) 150 dname = os.path.dirname(abspath) 151 return os.path.join(dname, os.path.normpath(path) ) 143 152 144 153 # compare path even if form is different … … 151 160 for name in names: 152 161 path = os.path.join(dirname, name) 153 154 162 op( path ) 155 163 156 164 # Start the walk 157 os.path.walk('.', step, '') 165 abspath = os.path.abspath(__main__.__file__) 166 dname = os.path.dirname(abspath) 167 os.path.walk(dname, step, '') 158 168 159 169 ################################################################################
Note: See TracChangeset
for help on using the changeset viewer.