mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
Merge dev branch with fix for #181
This commit is contained in:
commit
63180eaa5b
@ -51,6 +51,10 @@ class Markable:
|
|||||||
return False
|
return False
|
||||||
return self.mark_toggle(o)
|
return self.mark_toggle(o)
|
||||||
|
|
||||||
|
def mark_multiple(self, objects):
|
||||||
|
for o in objects:
|
||||||
|
self.mark(o)
|
||||||
|
|
||||||
def mark_all(self):
|
def mark_all(self):
|
||||||
self.mark_none()
|
self.mark_none()
|
||||||
self.__inverted = True
|
self.__inverted = True
|
||||||
@ -75,11 +79,19 @@ class Markable:
|
|||||||
self._did_mark(o)
|
self._did_mark(o)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def mark_toggle_multiple(self, objects):
|
||||||
|
for o in objects:
|
||||||
|
self.mark_toggle(o)
|
||||||
|
|
||||||
def unmark(self, o):
|
def unmark(self, o):
|
||||||
if not self.is_marked(o):
|
if not self.is_marked(o):
|
||||||
return False
|
return False
|
||||||
return self.mark_toggle(o)
|
return self.mark_toggle(o)
|
||||||
|
|
||||||
|
def unmark_multiple(self, objects):
|
||||||
|
for o in objects:
|
||||||
|
self.unmark(o)
|
||||||
|
|
||||||
#--- Properties
|
#--- Properties
|
||||||
@property
|
@property
|
||||||
def mark_count(self):
|
def mark_count(self):
|
||||||
|
@ -23,7 +23,7 @@ from .markable import Markable
|
|||||||
class Results(Markable):
|
class Results(Markable):
|
||||||
#---Override
|
#---Override
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
super(Results, self).__init__()
|
Markable.__init__(self)
|
||||||
self.__groups = []
|
self.__groups = []
|
||||||
self.__group_of_duplicate = {}
|
self.__group_of_duplicate = {}
|
||||||
self.__groups_sort_descriptor = None # This is a tuple (key, asc)
|
self.__groups_sort_descriptor = None # This is a tuple (key, asc)
|
||||||
@ -59,6 +59,24 @@ class Results(Markable):
|
|||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def mark_all(self):
|
||||||
|
if self.__filters:
|
||||||
|
self.mark_multiple(self.__filtered_dupes)
|
||||||
|
else:
|
||||||
|
Markable.mark_all(self)
|
||||||
|
|
||||||
|
def mark_invert(self):
|
||||||
|
if self.__filters:
|
||||||
|
self.mark_toggle_multiple(self.__filtered_dupes)
|
||||||
|
else:
|
||||||
|
Markable.mark_invert(self)
|
||||||
|
|
||||||
|
def mark_none(self):
|
||||||
|
if self.__filters:
|
||||||
|
self.unmark_multiple(self.__filtered_dupes)
|
||||||
|
else:
|
||||||
|
Markable.mark_none(self)
|
||||||
|
|
||||||
#---Private
|
#---Private
|
||||||
def __get_dupe_list(self):
|
def __get_dupe_list(self):
|
||||||
if self.__dupes is None:
|
if self.__dupes is None:
|
||||||
|
@ -715,6 +715,13 @@ class TestCaseResultsFilter:
|
|||||||
expected = '1 / 1 (1.00 B / 1.00 B) duplicates marked. filter: foo'
|
expected = '1 / 1 (1.00 B / 1.00 B) duplicates marked. filter: foo'
|
||||||
eq_(expected, self.results.stat_line)
|
eq_(expected, self.results.stat_line)
|
||||||
|
|
||||||
|
def test_mark_all_only_affects_filtered_items(self):
|
||||||
|
# When performing actions like mark_all() and mark_none in a filtered environment, only mark
|
||||||
|
# items that are actually in the filter.
|
||||||
|
self.results.mark_all()
|
||||||
|
self.results.apply_filter(None)
|
||||||
|
eq_(self.results.mark_count, 1)
|
||||||
|
|
||||||
def test_sort_groups(self):
|
def test_sort_groups(self):
|
||||||
self.results.apply_filter(None)
|
self.results.apply_filter(None)
|
||||||
self.results.make_ref(self.objects[1]) # to have the 1024 b obkect as ref
|
self.results.make_ref(self.objects[1]) # to have the 1024 b obkect as ref
|
||||||
|
Loading…
x
Reference in New Issue
Block a user