global counter
counter+=1
src = os.path.abspath(os.path.basename(self.path()));
- if self.options.destination:
+ if self.options.summary:
+ pass
+ elif self.options.destination:
dst = os.path.abspath(self.options.destination) + '/' + os.path.basename(self.path())
if self.options.verbose:
print "moving %s\n\tto %s"%(self.path(), dst)
def __init__ (self, groupname):
self.groupname=groupname
self.files=[]
+ self.count = 0
def insert (self, file):
self.files.append(file)
def epilogue (self):
def keep_one (self):
for file in self.files[1:]:
file.cleanup(self.files[0])
+ self.count += 1
# all files with the same (prefix, suffix)
class Kind:
self.prefix=prefix
self.suffix=suffix
self.options=options
+ self.todelete = 0
# will contain tuples (filename, datetime)
self.list = []
for groupname in groupnames:
if self.options.extra_verbose: print 'GROUP',groupname
self.groups[groupname].keep_one()
+ self.todelete += self.groups[groupname].count
# keeps an index of all files found, index by (prefix, suffix), then sorted by time
class Index:
kind.cleanup()
def summary (self):
- print "%-30s%-10s%s"%("Prefix","Suffix","Num")
+ print "%-30s%-10s%s"%("Prefix","Suffix","Num (Del)")
for kind in self.index.values():
- print "%-30s%-10s%3s"%(kind.prefix, kind.suffix, len(kind.list))
+ print "%-30s%-10s%3s (%s)"%(kind.prefix, kind.suffix, len(kind.list), kind.todelete)
def handle_dir_pattern (index, dir, pattern):
try:
for (dir, pattern) in dir_patterns: handle_dir_pattern (index, dir, pattern)
index.epilogue()
index.show()
+ index.cleanup()
if (options.summary) :
index.summary()
- else:
- index.cleanup()
+
print 'Found %d entries to unlink'%counter
if __name__ == '__main__':