First version default tip
authorviric@llimona
Sat, 04 Nov 2006 20:21:59 +0100
changeset 0 7604c668419c
First version
du-diff.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/du-diff.py	Sat Nov 04 20:21:59 2006 +0100
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+
+# It compares 'du' outputs from different dates, and shows the differences
+# in size between them.
+#
+# It output 4 columns: Change, Inc/decrement, Last size, Directory name
+# Change can be of 4 types:
+# * +, it means "increment in size"
+# * -, it means "decrement in size"
+# * N+, it means new directory, incrementing in size
+# * D-, it means deleted directory, decrementing in size
+
+import sys,string
+
+if len(sys.argv) != 3:
+	print "Wrong number of arguments."
+	sys.exit()
+
+
+du_first =  open(sys.argv[1],"r")
+du_second = open (sys.argv[2],"r")
+
+usage_first= {}
+
+for line in du_first:
+	elements = line.rstrip().split("\t",1)
+	usage_first[elements[1]] = int(elements[0])
+
+du_first.close()
+
+
+usage_second = usage_first
+for line in du_second:
+	elements = line.rstrip().split("\t",1)
+	elements[0] = int(elements[0])
+	if usage_first.has_key(elements[1]):
+		if usage_first[elements[1]] > elements[0]:
+			print "-\t%d\t%d\t%s" % ( usage_first[elements[1]] - elements[0],elements[0], elements[1] )
+		elif usage_first[elements[1]] < elements[0]:
+			print "+\t%d\t%d\t%s" % ( elements[0] - usage_first[elements[1]], elements[0], elements[1] )
+
+		del usage_second[elements[1]]
+	else:
+			print "N+\t%d\t%d\t%s" % ( elements[0] , elements[0] ,elements[1] )
+
+du_second.close()
+for key in usage_second.keys():
+			print "D-\t%d\t%d\t%s" % ( usage_second[key] , usage_second[key], key )
+