mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-22 14:41:39 +00:00
[#115 state:fixed] Re-factored the data columns (and delta columns) and made the Dimensions column a delta one.
This commit is contained in:
@@ -221,7 +221,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
column_ids = [colid for colid in column_ids if colid.isdigit()]
|
||||
column_ids = list(map(int, column_ids))
|
||||
column_ids.sort()
|
||||
colnames = [col['display'] for i, col in enumerate(self.data.COLUMNS) if i in column_ids]
|
||||
colnames = [col.display for i, col in enumerate(self.data.COLUMNS) if i in column_ids]
|
||||
rows = []
|
||||
for group in self.results.groups:
|
||||
for dupe in group:
|
||||
|
||||
@@ -112,6 +112,9 @@ class PyDupeGuruBase(PyFairware):
|
||||
def resultsAreModified(self):
|
||||
return self.py.results.is_modified
|
||||
|
||||
def deltaColumns(self):
|
||||
return list(self.py.data.DELTA_COLUMNS)
|
||||
|
||||
#---Properties
|
||||
@signature('v@:c')
|
||||
def setMixFileKind_(self, mix_file_kind):
|
||||
|
||||
@@ -6,10 +6,14 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
from hscommon.util import format_time_decimal, format_size
|
||||
|
||||
import time
|
||||
|
||||
Column = namedtuple('Column', 'attr display')
|
||||
|
||||
def format_path(p):
|
||||
return str(p[:-1])
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ class DetailsPanel(GUIObject):
|
||||
# we don't want the two sides of the table to display the stats for the same file
|
||||
ref = group.ref if group is not None and group.ref is not dupe else None
|
||||
l2 = self.app._get_display_info(ref, group, False)
|
||||
names = [c['display'] for c in self.app.data.COLUMNS]
|
||||
names = [c.display for c in self.app.data.COLUMNS]
|
||||
self._table = list(zip(names, l1, l2))
|
||||
|
||||
#--- Public
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2009-10-23
|
||||
# Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
|
||||
@@ -10,16 +9,17 @@
|
||||
# data module for tests
|
||||
|
||||
from hscommon.util import format_size
|
||||
from ..data import format_path, cmp_value
|
||||
from ..data import format_path, cmp_value, Column
|
||||
|
||||
COLUMNS = [
|
||||
{'attr':'name','display':'Filename'},
|
||||
{'attr':'path','display':'Directory'},
|
||||
{'attr':'size','display':'Size (KB)'},
|
||||
{'attr':'extension','display':'Kind'},
|
||||
Column('name', 'Filename'),
|
||||
Column('path', 'Directory'),
|
||||
Column('size', 'Size (KB)'),
|
||||
Column('extension', 'Kind'),
|
||||
]
|
||||
|
||||
METADATA_TO_READ = ['size']
|
||||
DELTA_COLUMNS = {2,}
|
||||
|
||||
def GetDisplayInfo(dupe, group, delta):
|
||||
size = dupe.size
|
||||
@@ -35,10 +35,10 @@ def GetDisplayInfo(dupe, group, delta):
|
||||
]
|
||||
|
||||
def GetDupeSortKey(dupe, get_group, key, delta):
|
||||
r = cmp_value(getattr(dupe, COLUMNS[key]['attr']))
|
||||
if delta and (key == 2):
|
||||
r -= cmp_value(getattr(get_group().ref, COLUMNS[key]['attr']))
|
||||
r = cmp_value(getattr(dupe, COLUMNS[key].attr))
|
||||
if delta and (key in DELTA_COLUMNS):
|
||||
r -= cmp_value(getattr(get_group().ref, COLUMNS[key].attr))
|
||||
return r
|
||||
|
||||
def GetGroupSortKey(group, key):
|
||||
return cmp_value(getattr(group.ref, COLUMNS[key]['attr']))
|
||||
return cmp_value(getattr(group.ref, COLUMNS[key].attr))
|
||||
Reference in New Issue
Block a user