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):
|
def _get_display_info(self, dupe, group, delta):
|
||||||
raise NotImplementedError()
|
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):
|
def _prioritization_categories(self):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
@ -139,6 +133,24 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
|||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
#--- Private
|
#--- 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 _do_delete(self, j, replace_with_hardlinks):
|
||||||
def op(dupe):
|
def op(dupe):
|
||||||
j.add_progress()
|
j.add_progress()
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
from hscommon.util import format_size, format_time
|
from hscommon.util import format_size, format_time
|
||||||
|
|
||||||
from core.app import (DupeGuru as DupeGuruBase, format_timestamp,
|
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 prioritize
|
||||||
from . import __appname__
|
from . import __appname__
|
||||||
from . import scanner, fs
|
from . import scanner, fs
|
||||||
@ -66,24 +66,6 @@ class DupeGuru(DupeGuruBase):
|
|||||||
'dupe_count': format_dupe_count(dupe_count),
|
'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):
|
def _prioritization_categories(self):
|
||||||
return prioritize.all_categories()
|
return prioritize.all_categories()
|
||||||
|
|
||||||
|
@ -60,32 +60,20 @@ class DupeGuru(DupeGuruBase):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def _get_dupe_sort_key(self, dupe, get_group, key, delta):
|
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':
|
if key == 'folder_path':
|
||||||
dupe_folder_path = getattr(dupe, 'display_folder_path', dupe.folder_path)
|
dupe_folder_path = getattr(dupe, 'display_folder_path', dupe.folder_path)
|
||||||
return str(dupe_folder_path).lower()
|
return str(dupe_folder_path).lower()
|
||||||
r = cmp_value(dupe, key)
|
if delta and key == 'dimensions':
|
||||||
if delta and (key in self.result_table.DELTA_COLUMNS):
|
r = cmp_value(dupe, key)
|
||||||
ref_value = cmp_value(get_group().ref, key)
|
ref_value = cmp_value(get_group().ref, key)
|
||||||
if key == 'dimensions':
|
return get_delta_dimensions(r, ref_value)
|
||||||
r = get_delta_dimensions(r, ref_value)
|
return DupeGuruBase._get_dupe_sort_key(self, dupe, get_group, key, delta)
|
||||||
else:
|
|
||||||
r -= ref_value
|
|
||||||
return r
|
|
||||||
|
|
||||||
def _get_group_sort_key(self, group, key):
|
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':
|
if key == 'folder_path':
|
||||||
dupe_folder_path = getattr(group.ref, 'display_folder_path', group.ref.folder_path)
|
dupe_folder_path = getattr(group.ref, 'display_folder_path', group.ref.folder_path)
|
||||||
return str(dupe_folder_path).lower()
|
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):
|
def _prioritization_categories(self):
|
||||||
return prioritize.all_categories()
|
return prioritize.all_categories()
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
from hscommon.util import format_size
|
from hscommon.util import format_size
|
||||||
|
|
||||||
from core.app import (DupeGuru as DupeGuruBase, format_timestamp, format_perc,
|
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 core import prioritize
|
||||||
from . import __appname__
|
from . import __appname__
|
||||||
from .result_table import ResultTable
|
from .result_table import ResultTable
|
||||||
@ -42,24 +42,6 @@ class DupeGuru(DupeGuruBase):
|
|||||||
'dupe_count': format_dupe_count(dupe_count),
|
'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):
|
def _prioritization_categories(self):
|
||||||
return prioritize.all_categories()
|
return prioritize.all_categories()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user