From 14f0fee41500f28f556297f00a7ea1ee182ade83 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 13 Mar 2012 20:10:06 +0000 Subject: Improve progress reporting for removal --- dupfiles | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dupfiles b/dupfiles index c50a31a..43473d0 100755 --- a/dupfiles +++ b/dupfiles @@ -228,7 +228,15 @@ class Dupfiles(cliapp.Application): for dirname in args: dupfinder.collect(dirname) - for duplicates in dupfinder.duplicates(): + dup_sets = dupfinder.duplicates() + + self.ts = ttystatus.TerminalStatus(period=0.1) + if self.settings['remove']: + num_files = sum(len(dups) for dups in dup_sets) + self.ts['num_files'] = num_files + self.ts.format('removing %Counter(filename)/%Integer(num_files)') + + for duplicates in dup_sets: if self.settings['make-hardlinks']: self.make_hardlinks(duplicates) elif self.settings['remove']: @@ -266,12 +274,8 @@ class Dupfiles(cliapp.Application): else: keep = duplicates.pop() - ts = ttystatus.TerminalStatus(period=0.1) - ts['filenames'] = duplicates - ts.format('removing %Index(filename,filenames)') - for pathname in duplicates: - ts['filename'] = pathname + self.ts['filename'] = pathname if self.settings['no-act']: self.output.write('rm %s\n' % pathname) else: -- cgit v1.2.1