#!/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 )