diff --git a/cocoa/me/ResultWindow.m b/cocoa/me/ResultWindow.m index 395ea360..7f8a5b26 100644 --- a/cocoa/me/ResultWindow.m +++ b/cocoa/me/ResultWindow.m @@ -20,7 +20,7 @@ http://www.hardcoded.net/licenses/hs_license { [super awakeFromNib]; [[self window] setTitle:@"dupeGuru Music Edition"]; - NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,7)]; + NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,6)]; [deltaColumns removeIndex:6]; [outline setDeltaColumns:deltaColumns]; } @@ -38,13 +38,13 @@ http://www.hardcoded.net/licenses/hs_license [columnsOrder addObject:@"2"]; [columnsOrder addObject:@"3"]; [columnsOrder addObject:@"4"]; - [columnsOrder addObject:@"16"]; + [columnsOrder addObject:@"15"]; NSMutableDictionary *columnsWidth = [NSMutableDictionary dictionary]; [columnsWidth setObject:i2n(214) forKey:@"0"]; [columnsWidth setObject:i2n(63) forKey:@"2"]; [columnsWidth setObject:i2n(50) forKey:@"3"]; [columnsWidth setObject:i2n(50) forKey:@"4"]; - [columnsWidth setObject:i2n(57) forKey:@"16"]; + [columnsWidth setObject:i2n(57) forKey:@"15"]; [self restoreColumnsPosition:columnsOrder widths:columnsWidth]; } @@ -96,18 +96,17 @@ http://www.hardcoded.net/licenses/hs_license [_resultColumns addObject:brCol]; [_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Sample Rate" width:60 refCol:refCol]]; [_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Kind" width:40 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Creation" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:8 title:@"Modification" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:9 title:@"Title" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:10 title:@"Artist" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:11 title:@"Album" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:12 title:@"Genre" width:80 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:13 title:@"Year" width:40 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:14 title:@"Track Number" width:40 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:15 title:@"Comment" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:16 title:@"Match %" width:57 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:17 title:@"Words Used" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:18 title:@"Dupe Count" width:80 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Modification" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:8 title:@"Title" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:9 title:@"Artist" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:10 title:@"Album" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:11 title:@"Genre" width:80 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:12 title:@"Year" width:40 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:13 title:@"Track Number" width:40 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:14 title:@"Comment" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:15 title:@"Match %" width:57 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:16 title:@"Words Used" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:17 title:@"Dupe Count" width:80 refCol:refCol]]; } /* Notifications */ diff --git a/cocoa/pe/ResultWindow.m b/cocoa/pe/ResultWindow.m index ed7bf51f..87500cd8 100644 --- a/cocoa/pe/ResultWindow.m +++ b/cocoa/pe/ResultWindow.m @@ -20,9 +20,8 @@ http://www.hardcoded.net/licenses/hs_license { [super awakeFromNib]; [[self window] setTitle:@"dupeGuru Picture Edition"]; - NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,5)]; - [deltaColumns removeIndex:3]; - [deltaColumns removeIndex:4]; + NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndex:2]; + [deltaColumns addIndex:5]; [outline setDeltaColumns:deltaColumns]; } @@ -41,13 +40,13 @@ http://www.hardcoded.net/licenses/hs_license [columnsOrder addObject:@"1"]; [columnsOrder addObject:@"2"]; [columnsOrder addObject:@"4"]; - [columnsOrder addObject:@"7"]; + [columnsOrder addObject:@"6"]; NSMutableDictionary *columnsWidth = [NSMutableDictionary dictionary]; [columnsWidth setObject:i2n(121) forKey:@"0"]; [columnsWidth setObject:i2n(120) forKey:@"1"]; [columnsWidth setObject:i2n(63) forKey:@"2"]; [columnsWidth setObject:i2n(73) forKey:@"4"]; - [columnsWidth setObject:i2n(58) forKey:@"7"]; + [columnsWidth setObject:i2n(58) forKey:@"6"]; [self restoreColumnsPosition:columnsOrder widths:columnsWidth]; } @@ -92,9 +91,8 @@ http://www.hardcoded.net/licenses/hs_license [_resultColumns addObject:sizeCol]; [_resultColumns addObject:[self getColumnForIdentifier:3 title:@"Kind" width:40 refCol:refCol]]; [_resultColumns addObject:[self getColumnForIdentifier:4 title:@"Dimensions" width:80 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Creation" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Modification" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Match %" width:58 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:8 title:@"Dupe Count" width:80 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Modification" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Match %" width:58 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Dupe Count" width:80 refCol:refCol]]; } @end \ No newline at end of file diff --git a/cocoa/se/ResultWindow.m b/cocoa/se/ResultWindow.m index 50e1370e..0a74b815 100644 --- a/cocoa/se/ResultWindow.m +++ b/cocoa/se/ResultWindow.m @@ -18,8 +18,8 @@ http://www.hardcoded.net/licenses/hs_license - (void)awakeFromNib { [super awakeFromNib]; - NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,4)]; - [deltaColumns removeIndex:3]; + NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndex:2]; + [deltaColumns addIndex:4]; [outline setDeltaColumns:deltaColumns]; } @@ -30,12 +30,12 @@ http://www.hardcoded.net/licenses/hs_license [columnsOrder addObject:@"0"]; [columnsOrder addObject:@"1"]; [columnsOrder addObject:@"2"]; - [columnsOrder addObject:@"6"]; + [columnsOrder addObject:@"5"]; NSMutableDictionary *columnsWidth = [NSMutableDictionary dictionary]; [columnsWidth setObject:i2n(195) forKey:@"0"]; [columnsWidth setObject:i2n(120) forKey:@"1"]; [columnsWidth setObject:i2n(63) forKey:@"2"]; - [columnsWidth setObject:i2n(60) forKey:@"6"]; + [columnsWidth setObject:i2n(60) forKey:@"5"]; [self restoreColumnsPosition:columnsOrder widths:columnsWidth]; } @@ -80,10 +80,9 @@ http://www.hardcoded.net/licenses/hs_license [[sizeCol dataCell] setAlignment:NSRightTextAlignment]; [_resultColumns addObject:sizeCol]; [_resultColumns addObject:[self getColumnForIdentifier:3 title:@"Kind" width:40 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:4 title:@"Creation" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Modification" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Match %" width:60 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Words Used" width:120 refCol:refCol]]; - [_resultColumns addObject:[self getColumnForIdentifier:8 title:@"Dupe Count" width:80 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:4 title:@"Modification" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Match %" width:60 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Words Used" width:120 refCol:refCol]]; + [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Dupe Count" width:80 refCol:refCol]]; } @end diff --git a/core/fs.py b/core/fs.py index 1723f5e7..a3c6f272 100644 --- a/core/fs.py +++ b/core/fs.py @@ -55,7 +55,6 @@ class OperationError(FSError): class File(object): INITIAL_INFO = { 'size': 0, - 'ctime': 0, 'mtime': 0, 'md5': '', 'md5partial': '', @@ -82,10 +81,9 @@ class File(object): raise AttributeError() def _read_info(self, field): - if field in ('size', 'ctime', 'mtime'): + if field in ('size', 'mtime'): stats = io.stat(self.path) self.size = nonone(stats.st_size, 0) - self.ctime = nonone(stats.st_ctime, 0) self.mtime = nonone(stats.st_mtime, 0) elif field == 'md5partial': try: diff --git a/core_me/data.py b/core_me/data.py index fb646cf7..4fcd5b83 100644 --- a/core_me/data.py +++ b/core_me/data.py @@ -18,7 +18,6 @@ COLUMNS = [ {'attr':'bitrate','display':'Bitrate'}, {'attr':'samplerate','display':'Sample Rate'}, {'attr':'extension','display':'Kind'}, - {'attr':'ctime','display':'Creation'}, {'attr':'mtime','display':'Modification'}, {'attr':'title','display':'Title'}, {'attr':'artist','display':'Artist'}, @@ -32,7 +31,7 @@ COLUMNS = [ {'attr':'dupe_count','display':'Dupe Count'}, ] -METADATA_TO_READ = ['size', 'ctime', 'mtime', 'duration', 'bitrate', 'samplerate', 'title', 'artist', +METADATA_TO_READ = ['size', 'mtime', 'duration', 'bitrate', 'samplerate', 'title', 'artist', 'album', 'genre', 'year', 'track', 'comment'] def GetDisplayInfo(dupe, group, delta): @@ -40,7 +39,6 @@ def GetDisplayInfo(dupe, group, delta): duration = dupe.duration bitrate = dupe.bitrate samplerate = dupe.samplerate - ctime = dupe.ctime mtime = dupe.mtime m = group.get_match_of(dupe) if m: @@ -52,7 +50,6 @@ def GetDisplayInfo(dupe, group, delta): duration -= r.duration bitrate -= r.bitrate samplerate -= r.samplerate - ctime -= r.ctime mtime -= r.mtime else: percentage = group.percentage @@ -65,7 +62,6 @@ def GetDisplayInfo(dupe, group, delta): str(bitrate), str(samplerate), dupe.extension, - format_timestamp(ctime,delta and m), format_timestamp(mtime,delta and m), dupe.title, dupe.artist, diff --git a/core_pe/data.py b/core_pe/data.py index 2b1a5dd8..7e0aa341 100644 --- a/core_pe/data.py +++ b/core_pe/data.py @@ -18,19 +18,17 @@ COLUMNS = [ {'attr':'size','display':'Size (KB)'}, {'attr':'extension','display':'Kind'}, {'attr':'dimensions','display':'Dimensions'}, - {'attr':'ctime','display':'Creation'}, {'attr':'mtime','display':'Modification'}, {'attr':'percentage','display':'Match %'}, {'attr':'dupe_count','display':'Dupe Count'}, ] -METADATA_TO_READ = ['size', 'ctime', 'mtime', 'dimensions'] +METADATA_TO_READ = ['size', 'mtime', 'dimensions'] def GetDisplayInfo(dupe,group,delta=False): if (dupe is None) or (group is None): return ['---'] * len(COLUMNS) size = dupe.size - ctime = dupe.ctime mtime = dupe.mtime m = group.get_match_of(dupe) if m: @@ -39,7 +37,6 @@ def GetDisplayInfo(dupe,group,delta=False): if delta: r = group.ref size -= r.size - ctime -= r.ctime mtime -= r.mtime else: percentage = group.percentage @@ -51,7 +48,6 @@ def GetDisplayInfo(dupe,group,delta=False): format_size(size, 0, 1, False), dupe.extension, format_dimensions(dupe.dimensions), - format_timestamp(ctime, delta and m), format_timestamp(mtime, delta and m), format_perc(percentage), format_dupe_count(dupe_count) diff --git a/core_se/data.py b/core_se/data.py index 8a88cf6c..9de9b306 100644 --- a/core_se/data.py +++ b/core_se/data.py @@ -15,18 +15,16 @@ COLUMNS = [ {'attr':'path','display':'Directory'}, {'attr':'size','display':'Size (KB)'}, {'attr':'extension','display':'Kind'}, - {'attr':'ctime','display':'Creation'}, {'attr':'mtime','display':'Modification'}, {'attr':'percentage','display':'Match %'}, {'attr':'words','display':'Words Used'}, {'attr':'dupe_count','display':'Dupe Count'}, ] -METADATA_TO_READ = ['size', 'ctime', 'mtime'] +METADATA_TO_READ = ['size', 'mtime'] def GetDisplayInfo(dupe, group, delta): size = dupe.size - ctime = dupe.ctime mtime = dupe.mtime m = group.get_match_of(dupe) if m: @@ -35,7 +33,6 @@ def GetDisplayInfo(dupe, group, delta): if delta: r = group.ref size -= r.size - ctime -= r.ctime mtime -= r.mtime else: percentage = group.percentage @@ -45,7 +42,6 @@ def GetDisplayInfo(dupe, group, delta): format_path(dupe.path), format_size(size, 0, 1, False), dupe.extension, - format_timestamp(ctime, delta and m), format_timestamp(mtime, delta and m), format_perc(percentage), format_words(dupe.words) if hasattr(dupe, 'words') else '', diff --git a/core_se/fs.py b/core_se/fs.py index c9b46dc4..79452efa 100644 --- a/core_se/fs.py +++ b/core_se/fs.py @@ -20,12 +20,11 @@ class Bundle(fs.File): to see them as files. """ def _read_info(self, field): - if field in ('size', 'ctime', 'mtime'): + if field in ('size', 'mtime'): files = fs.get_all_files(self.path) size = sum((file.size for file in files), 0) self.size = size stats = io.stat(self.path) - self.ctime = nonone(stats.st_ctime, 0) self.mtime = nonone(stats.st_mtime, 0) elif field in ('md5', 'md5partial'): # What's sensitive here is that we must make sure that subfiles' diff --git a/core_se/tests/fs_test.py b/core_se/tests/fs_test.py index d2d0d6f4..569eac27 100644 --- a/core_se/tests/fs_test.py +++ b/core_se/tests/fs_test.py @@ -38,9 +38,8 @@ class TCBundle(TestCase): eq_(b.md5, md5.digest()) def test_has_file_attrs(self): - #a Bundle must behave like a file, so it must have ctime and mtime attributes + #a Bundle must behave like a file, so it must have mtime attributes b = fs.Bundle(self.tmppath()) assert b.mtime > 0 - assert b.ctime > 0 eq_(b.extension, '') \ No newline at end of file diff --git a/qt/me/app.py b/qt/me/app.py index 3ed27e43..68c97eb5 100644 --- a/qt/me/app.py +++ b/qt/me/app.py @@ -18,7 +18,7 @@ class DupeGuru(DupeGuruBase): LOGO_NAME = 'logo_me' NAME = 'dupeGuru Music Edition' VERSION = '5.8.1' - DELTA_COLUMNS = frozenset([2, 3, 4, 5, 7, 8]) + DELTA_COLUMNS = frozenset([2, 3, 4, 5, 7]) def __init__(self): DupeGuruBase.__init__(self, data, appid=1) diff --git a/qt/me/preferences.py b/qt/me/preferences.py index e8d2d37f..c59a3798 100644 --- a/qt/me/preferences.py +++ b/qt/me/preferences.py @@ -21,7 +21,6 @@ class Preferences(PreferencesBase): (50, True), # Bitrate (60, False), # Sample Rate (40, False), # Kind - (120, False), # creation (120, False), # modification (120, False), # Title (120, False), # Artist diff --git a/qt/pe/app.py b/qt/pe/app.py index 5dad9edf..ad4c9879 100644 --- a/qt/pe/app.py +++ b/qt/pe/app.py @@ -58,7 +58,7 @@ class DupeGuru(DupeGuruBase): LOGO_NAME = 'logo_pe' NAME = 'dupeGuru Picture Edition' VERSION = '1.9.1' - DELTA_COLUMNS = frozenset([2, 5, 6]) + DELTA_COLUMNS = frozenset([2, 5]) def __init__(self): DupeGuruBase.__init__(self, data_pe, appid=5) diff --git a/qt/pe/preferences.py b/qt/pe/preferences.py index cdf3f980..b9c4249c 100644 --- a/qt/pe/preferences.py +++ b/qt/pe/preferences.py @@ -18,7 +18,6 @@ class Preferences(PreferencesBase): (60, True), # size (40, False), # kind (100, True), # dimensions - (120, False), # creation (120, False), # modification (60, True), # match % (80, False), # dupe count diff --git a/qt/se/app.py b/qt/se/app.py index b512d104..042432b8 100644 --- a/qt/se/app.py +++ b/qt/se/app.py @@ -28,7 +28,7 @@ class DupeGuru(DupeGuruBase): LOGO_NAME = 'logo_se' NAME = 'dupeGuru' VERSION = '2.10.1' - DELTA_COLUMNS = frozenset([2, 4, 5]) + DELTA_COLUMNS = frozenset([2, 4]) def __init__(self): DupeGuruBase.__init__(self, data, appid=4) diff --git a/qt/se/preferences.py b/qt/se/preferences.py index d684acb6..c60656f7 100644 --- a/qt/se/preferences.py +++ b/qt/se/preferences.py @@ -17,7 +17,6 @@ class Preferences(PreferencesBase): (180, True), # path (60, True), # size (40, False), # Kind - (120, False), # creation (120, False), # modification (60, True), # match % (120, False), # Words Used