mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-09 21:24:36 +00:00
Removed code duplication among editions in sorting algorithms.
This commit is contained in:
parent
80ff5f64f7
commit
771f22f208
24
core/app.py
24
core/app.py
@ -126,12 +126,6 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
def _get_display_info(self, dupe, group, delta):
|
||||
raise NotImplementedError()
|
||||
|
||||
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
|
||||
raise NotImplementedError()
|
||||
|
||||
def _get_group_sort_key(self, group, key):
|
||||
raise NotImplementedError()
|
||||
|
||||
def _prioritization_categories(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
@ -139,6 +133,24 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
raise NotImplementedError()
|
||||
|
||||
#--- Private
|
||||
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
|
||||
if key == 'percentage':
|
||||
m = get_group().get_match_of(dupe)
|
||||
return m.percentage
|
||||
if key == 'dupe_count':
|
||||
return 0
|
||||
r = cmp_value(dupe, key)
|
||||
if delta and (key in self.result_table.DELTA_COLUMNS):
|
||||
r -= cmp_value(get_group().ref, key)
|
||||
return r
|
||||
|
||||
def _get_group_sort_key(self, group, key):
|
||||
if key == 'percentage':
|
||||
return group.percentage
|
||||
if key == 'dupe_count':
|
||||
return len(group)
|
||||
return cmp_value(group.ref, key)
|
||||
|
||||
def _do_delete(self, j, replace_with_hardlinks):
|
||||
def op(dupe):
|
||||
j.add_progress()
|
||||
|
@ -8,7 +8,7 @@
|
||||
from hscommon.util import format_size, format_time
|
||||
|
||||
from core.app import (DupeGuru as DupeGuruBase, format_timestamp,
|
||||
format_perc, format_words, format_dupe_count, cmp_value)
|
||||
format_perc, format_words, format_dupe_count)
|
||||
from . import prioritize
|
||||
from . import __appname__
|
||||
from . import scanner, fs
|
||||
@ -66,24 +66,6 @@ class DupeGuru(DupeGuruBase):
|
||||
'dupe_count': format_dupe_count(dupe_count),
|
||||
}
|
||||
|
||||
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
|
||||
if key == 'percentage':
|
||||
m = get_group().get_match_of(dupe)
|
||||
return m.percentage
|
||||
if key == 'dupe_count':
|
||||
return 0
|
||||
r = cmp_value(dupe, key)
|
||||
if delta and (key in self.result_table.DELTA_COLUMNS):
|
||||
r -= cmp_value(get_group().ref, key)
|
||||
return r
|
||||
|
||||
def _get_group_sort_key(self, group, key):
|
||||
if key == 'percentage':
|
||||
return group.percentage
|
||||
if key == 'dupe_count':
|
||||
return len(group)
|
||||
return cmp_value(group.ref, key)
|
||||
|
||||
def _prioritization_categories(self):
|
||||
return prioritize.all_categories()
|
||||
|
||||
|
@ -60,32 +60,20 @@ class DupeGuru(DupeGuruBase):
|
||||
}
|
||||
|
||||
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
|
||||
if key == 'percentage':
|
||||
m = get_group().get_match_of(dupe)
|
||||
return m.percentage
|
||||
if key == 'dupe_count':
|
||||
return 0
|
||||
if key == 'folder_path':
|
||||
dupe_folder_path = getattr(dupe, 'display_folder_path', dupe.folder_path)
|
||||
return str(dupe_folder_path).lower()
|
||||
r = cmp_value(dupe, key)
|
||||
if delta and (key in self.result_table.DELTA_COLUMNS):
|
||||
if delta and key == 'dimensions':
|
||||
r = cmp_value(dupe, key)
|
||||
ref_value = cmp_value(get_group().ref, key)
|
||||
if key == 'dimensions':
|
||||
r = get_delta_dimensions(r, ref_value)
|
||||
else:
|
||||
r -= ref_value
|
||||
return r
|
||||
return get_delta_dimensions(r, ref_value)
|
||||
return DupeGuruBase._get_dupe_sort_key(self, dupe, get_group, key, delta)
|
||||
|
||||
def _get_group_sort_key(self, group, key):
|
||||
if key == 'percentage':
|
||||
return group.percentage
|
||||
if key == 'dupe_count':
|
||||
return len(group)
|
||||
if key == 'folder_path':
|
||||
dupe_folder_path = getattr(group.ref, 'display_folder_path', group.ref.folder_path)
|
||||
return str(dupe_folder_path).lower()
|
||||
return cmp_value(group.ref, key)
|
||||
return DupeGuruBase._get_group_sort_key(self, group, key)
|
||||
|
||||
def _prioritization_categories(self):
|
||||
return prioritize.all_categories()
|
||||
|
@ -8,7 +8,7 @@
|
||||
from hscommon.util import format_size
|
||||
|
||||
from core.app import (DupeGuru as DupeGuruBase, format_timestamp, format_perc,
|
||||
format_words, format_dupe_count, cmp_value)
|
||||
format_words, format_dupe_count)
|
||||
from core import prioritize
|
||||
from . import __appname__
|
||||
from .result_table import ResultTable
|
||||
@ -42,24 +42,6 @@ class DupeGuru(DupeGuruBase):
|
||||
'dupe_count': format_dupe_count(dupe_count),
|
||||
}
|
||||
|
||||
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
|
||||
if key == 'percentage':
|
||||
m = get_group().get_match_of(dupe)
|
||||
return m.percentage
|
||||
if key == 'dupe_count':
|
||||
return 0
|
||||
r = cmp_value(dupe, key)
|
||||
if delta and (key in self.result_table.DELTA_COLUMNS):
|
||||
r -= cmp_value(get_group().ref, key)
|
||||
return r
|
||||
|
||||
def _get_group_sort_key(self, group, key):
|
||||
if key == 'percentage':
|
||||
return group.percentage
|
||||
if key == 'dupe_count':
|
||||
return len(group)
|
||||
return cmp_value(group.ref, key)
|
||||
|
||||
def _prioritization_categories(self):
|
||||
return prioritize.all_categories()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user