sbsv2/raptor/bin/unsplitdirs.py
changeset 3 e1eecf4d390d
parent 0 044383f39525
--- a/sbsv2/raptor/bin/unsplitdirs.py	Wed Oct 28 14:39:48 2009 +0000
+++ b/sbsv2/raptor/bin/unsplitdirs.py	Mon Nov 16 09:46:46 2009 +0000
@@ -1,101 +1,101 @@
-#
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-# unsplitdirs utility
-# This utility converts a directory tree which may contain "splits" due to case inconsistencies into
-# a combined form.  This is best illustrated as follows:
-# epoc32/RELEASE/ARMV5/urel
-# epoc32/Release/armv5/UREL
-# epoc32/RELEASE/armv5/Urel
-# are "healed by this script into:
-# epoc32/RELEASE/ARMV5/urel  (i.e. the first occurrence.
-#
-
-#
-# Files within these directories are maintained. i.e. it is possible to fix 
-# a directory tree with files already left in it.
-#
- 
-
-import os
-import os.path
-import re
-import sys
-import shutil
-from  optparse import OptionParser
-
-def mergetwo(firstdir, seconddir):
-# Move files from firstdir into seconddir.  If firstdir and seconddir both have 
-# a directory "X" then combines the contents of theses
-	for d in os.listdir(firstdir):
-		fileitem = os.path.join(firstdir,d)
-		dest = os.path.join(seconddir,d)
-		print "moving %s, %s to %s " % (d, fileitem, dest)
-		if os.path.isdir(dest) and os.path.isdir(fileitem):
-			mergetwo(fileitem, dest)
-			try:
-				os.rmdir(fileitem)
-			except:
-				print "\tfailed rmdir %s" % fileitem
-		else:
-			shutil.move(fileitem, dest)
-	try:
-		os.rmdir(firstdir)
-	except:
-		print "\tfailed rmdir %s" % firstdir
-	
-	
-
-def visit(dirname, link = False):
-# Find directories with names that differ only in case
-	nameclash = {}
-#	print "dir %s\n" %(dirname)
-	for f in os.listdir(dirname):
-		fullpath = os.path.join(dirname,f)
-		if os.path.isdir(fullpath) and not os.path.islink(fullpath):
-		#	print "\tmergeable %s" %(f)
-			fl = f.lower()
-			if nameclash.has_key(fl):
-				mergetwo(fullpath, os.path.join(dirname, nameclash[fl]))
-				if link:
-					print "\tlinking %s <- %s" %(nameclash[fl], fullpath)
-					os.symlink(nameclash[fl], fullpath)
-			else:
-				nameclash[fl] = f
-		else:
-			pass
-		#	print "%s is not a dir\n" %(f)
-
-	for d in nameclash.values():
-	#	print "\tVisiting %s" %(d)
-		visit(os.path.join(dirname, d))
-
-
-dirname = sys.argv[1]
-
-parser = OptionParser(prog = "unsplitdirs",
-        usage = "%prog [-h | options] [<file>]")
-
-parser.add_option("-l", "--link", default = False,
-         action="store_true", dest="link", help="Turn mismatched-case directories into symbolic links e.g. if armv5 is the default then make the link ARMV5->armv5")
-
-(options, args) = parser.parse_args()
-
-logname="stdin"
-if len(args) > 0:
-        dirname = args[0]
-else:
-	dirname ='.'
-
-visit(dirname, options.link)
+#
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# unsplitdirs utility
+# This utility converts a directory tree which may contain "splits" due to case inconsistencies into
+# a combined form.  This is best illustrated as follows:
+# epoc32/RELEASE/ARMV5/urel
+# epoc32/Release/armv5/UREL
+# epoc32/RELEASE/armv5/Urel
+# are "healed by this script into:
+# epoc32/RELEASE/ARMV5/urel  (i.e. the first occurrence.
+#
+
+#
+# Files within these directories are maintained. i.e. it is possible to fix 
+# a directory tree with files already left in it.
+#
+ 
+
+import os
+import os.path
+import re
+import sys
+import shutil
+from  optparse import OptionParser
+
+def mergetwo(firstdir, seconddir):
+# Move files from firstdir into seconddir.  If firstdir and seconddir both have 
+# a directory "X" then combines the contents of theses
+	for d in os.listdir(firstdir):
+		fileitem = os.path.join(firstdir,d)
+		dest = os.path.join(seconddir,d)
+		print "moving %s, %s to %s " % (d, fileitem, dest)
+		if os.path.isdir(dest) and os.path.isdir(fileitem):
+			mergetwo(fileitem, dest)
+			try:
+				os.rmdir(fileitem)
+			except:
+				print "\tfailed rmdir %s" % fileitem
+		else:
+			shutil.move(fileitem, dest)
+	try:
+		os.rmdir(firstdir)
+	except:
+		print "\tfailed rmdir %s" % firstdir
+	
+	
+
+def visit(dirname, link = False):
+# Find directories with names that differ only in case
+	nameclash = {}
+#	print "dir %s\n" %(dirname)
+	for f in os.listdir(dirname):
+		fullpath = os.path.join(dirname,f)
+		if os.path.isdir(fullpath) and not os.path.islink(fullpath):
+		#	print "\tmergeable %s" %(f)
+			fl = f.lower()
+			if nameclash.has_key(fl):
+				mergetwo(fullpath, os.path.join(dirname, nameclash[fl]))
+				if link:
+					print "\tlinking %s <- %s" %(nameclash[fl], fullpath)
+					os.symlink(nameclash[fl], fullpath)
+			else:
+				nameclash[fl] = f
+		else:
+			pass
+		#	print "%s is not a dir\n" %(f)
+
+	for d in nameclash.values():
+	#	print "\tVisiting %s" %(d)
+		visit(os.path.join(dirname, d))
+
+
+dirname = sys.argv[1]
+
+parser = OptionParser(prog = "unsplitdirs",
+        usage = "%prog [-h | options] [<file>]")
+
+parser.add_option("-l", "--link", default = False,
+         action="store_true", dest="link", help="Turn mismatched-case directories into symbolic links e.g. if armv5 is the default then make the link ARMV5->armv5")
+
+(options, args) = parser.parse_args()
+
+logname="stdin"
+if len(args) > 0:
+        dirname = args[0]
+else:
+	dirname ='.'
+
+visit(dirname, options.link)