commsfwutils/commsbufs/mbufgobblerlayer/updatecontentandfilenames.py
branchRCL_3
changeset 84 486e9e9c45a7
parent 76 576874e13a2c
child 85 7c25be0307fe
--- a/commsfwutils/commsbufs/mbufgobblerlayer/updatecontentandfilenames.py	Wed Sep 15 13:33:11 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-import ConfigParser
-##import io
-import sys
-import os
-import re
-import string
-import shutil
-
-active=1
-iniFileName='updatecontentandfilenames.ini'
-
-def AddSearchReplacePair(src,dst):
-	print "Will replace\t"+src+"  with\t"+dst
-	search_replace[src] = dst
-
-def DieAndWait(string):
-	print string
-	sys.exit()
-	
-def TranslateString(string):
-#	out = string
-#	print "\ntranslating: "+string
-	for src in search_replace.keys():
-		dest = search_replace[src]
-#		print "src: "+src+" dest: "+dest
-		string = string.replace(src,dest)
-#		print "out: "+out
-	return string
-
-	
-def RenameIfNecessary(root,file):
-	thisdest = TranslateString(file)
-	if(thisdest != file):
-		print "Renaming ["+file+"] to ["+thisdest+"]"
-		if active:
-			os.rename(os.path.join(root,file),os.path.join(root,thisdest))
-
-def CorrectFile(file):
-	# ini file is special
-	if(file.upper() == iniFileName.upper()):
-		CorrectIniFile(file)
-	else:
-		if(FileContainsSrc(file)):
-			print "Modifying ["+file+"]"
-			TranslateFile(file);
-
-def FileContainsSrc(file):
-#	print "looking in ["+file+"]"
-	f = open(file)
-	found = 0
-	for line in f:
-#		print "[[["+line
-		for src in search_replace.keys():
-			if(-1 != string.find(line,src)):
-				found = 1
-#				print "\n'"+src+"' found in "+line+".. so.."
-				break
-		if(found):
-			break
-	f.close()
-	return found
-
-def TranslateFile(file):
-	if (active == 0):
-		return
-	shutil.copyfile(file,file+".bak")
-	i = open(file+".bak")
-	o = open(file,"w+")
-	for line in i:
-		out=TranslateString(line)
-		o.write(out)
-	i.close()
-	o.close()
-
-def CorrectIniFile(file):
-	if (active == 0):
-		return
-	print "Correcting ini file "+file+" .."
-	shutil.copyfile(file,file+".bak")
-	i = open(file+".bak")
-	o = open(file,"w+")
-	searchfield=''
-	for line in i:
-		ms=re.match('^\s*Search\s*=\s*(.+)',line,flags=re.IGNORECASE)
-		mr=re.match('^\s*Replace\s*=\s*(.+)',line,flags=re.IGNORECASE)
-		if(ms):
-			if(searchfield != ''):
-				print "Multiple search sections found before a replace. fix config file manually"
-				sys.exit()
-			searchfield = ms.group(1)
-		elif(mr):
-			if(searchfield == ''):
-				print "Replace section found before search section. fix config file manually"
-				sys.exit()
-			o.write("Search="+mr.group(1)+"\nReplace=CHANGEME\n")
-			searchfield=''
-		else:
-			o.write(line)
-	i.close()
-	o.close()
-
-
-
-
-config = ConfigParser.ConfigParser()
-config.readfp(open(iniFileName))
-
-print "1. Figuring out search/replace pairs.."
-
-search_replace = {} # empty map
-
-for section in config.sections():
-	src = config.get(section,'Search')
-	if(src == ""):
-		DieAndWait("Error in ini file section '"+section+"': Must specify Search field")
-	if(src in search_replace):
-		DieAndWait("Error in ini file section '"+section+"': Search field '"+src+"' specified more than once")
-	dest = config.get(section,'Replace')
-	if(dest == ""):
-		DieAndWait("Error in ini file section '"+section+"': Must specify Replace field")
-	if(dest == "CHANGEME"):
-		DieAndWait("Error in ini file section '"+section+"': Must specify value to replace '"+src+"' with")
-	
-	AddSearchReplacePair(src,dest)
-	
-	# deal with upper / lower case variants
-	ucsrc = src.upper()
-	lcsrc = src.lower()
-	lcapsrc = ucsrc[:1]+lcsrc[1:]
-	ucdest = dest.upper()
-	lcdest = dest.lower()
-	lcapdest = ucdest[:1]+lcdest[1:]
-
-	if(ucsrc != src):
-		AddSearchReplacePair(ucsrc,ucdest)
-	if(lcsrc != src):
-		AddSearchReplacePair(lcsrc,lcdest)
-	if(lcapsrc != src and lcapsrc != lcsrc):
-		AddSearchReplacePair(lcapsrc,lcapdest)
-
-print "-----"
-print "2. Scanning for read-only files.."
-  
-readOnlyFiles=0;
-for root, dirs, files in os.walk("",topdown=False):
-	for file in files:
-#		print "Testing readable  : "+root+file
-		try:
-			fh = open(os.path.join(root,file),"a+")
-			fh.close()
-		except:
-			print "Read-only file detected: "+os.path.join(root,file)
-			readOnlyFiles=1
-
-if(readOnlyFiles):
-	print "Can't operate with read-only files present."
-	sys.exit()
-else:
-	print "No read-only files present. Proceeding to search/replace.."
-
-
-print "-----"
-print "3. Renaming files and folders.."
-
-for root, dirs, files in os.walk("",topdown=False):
-#	print "ROOT: "+root
-	for dir in dirs:
-		RenameIfNecessary(root,dir)
-	for file in files:
-		RenameIfNecessary(root,file)
-
-
-print "-----"
-print "4. Search/replacing in files.."
-
-for root, dirs, files in os.walk("",topdown=False):
-	for file in files:
-		CorrectFile(os.path.join(root,file))
-
-print "-----"
-print "Done."