dosed'e glob desteği

This commit is contained in:
S.Çağlar Onur
2005-10-08 00:15:03 +00:00
parent 3599a1cecd
commit 8e779786f8
+11 -9
View File
@@ -164,20 +164,22 @@ def rename(sourceFile, destinationFile):
except OSError: except OSError:
ctx.ui.error(_('\n!!! ActionsAPI [rename]: No such file or directory: %s') % (sourceFile)) ctx.ui.error(_('\n!!! ActionsAPI [rename]: No such file or directory: %s') % (sourceFile))
def dosed(sourceFile, findPattern, replacePattern = ''): def dosed(sourceFiles, findPattern, replacePattern = ''):
'''replaces patterns in sourceFile''' '''replaces patterns in sourceFiles'''
''' example call: pisitools.dosed("/etc/passwd", "caglar", "cem")''' ''' example call: pisitools.dosed("/etc/passwd", "caglar", "cem")'''
''' example call: pisitools.dosym("/etc/passwd", "caglar")''' ''' example call: pisitools.dosym("/etc/passwd", "caglar")'''
''' example call: pisitools.dosym("/etc/pass*", "caglar")'''
''' example call: pisitools.dosym("Makefile", "(?m)^(HAVE_PAM=.*)no", r"\1yes")''' ''' example call: pisitools.dosym("Makefile", "(?m)^(HAVE_PAM=.*)no", r"\1yes")'''
if can_access_file(sourceFile): for sourceFile in glob.glob(sourceFiles):
for line in fileinput.input(sourceFile, inplace = 1): if can_access_file(sourceFile):
#FIXME: In-place filtering is disabled when standard input is read for line in fileinput.input(sourceFile, inplace = 1):
line = re.sub(findPattern, replacePattern, line) #FIXME: In-place filtering is disabled when standard input is read
sys.stdout.write(line) line = re.sub(findPattern, replacePattern, line)
else: sys.stdout.write(line)
raise FileError(_('File doesn\'t exists or permission denied: %s') % sourceFile) else:
raise FileError(_('File doesn\'t exists or permission denied: %s') % sourceFile)
def dosbin(sourceFile, destinationDirectory = '/usr/sbin'): def dosbin(sourceFile, destinationDirectory = '/usr/sbin'):
'''insert a executable file into /sbin or /usr/sbin''' '''insert a executable file into /sbin or /usr/sbin'''