Add plural method remove_children.
This commit is contained in:
parent
0eb8fd3f1b
commit
8777998829
1 changed files with 26 additions and 2 deletions
|
@ -210,8 +210,7 @@ class GroupableMixin(metaclass=abc.ABCMeta):
|
||||||
row = self.photodb.sql_select_one(query, [parent.id, self.id])
|
row = self.photodb.sql_select_one(query, [parent.id, self.id])
|
||||||
return row is not None
|
return row is not None
|
||||||
|
|
||||||
@abc.abstractmethod
|
def __remove_child(self, member):
|
||||||
def remove_child(self, member):
|
|
||||||
if not self.has_child(member):
|
if not self.has_child(member):
|
||||||
return BAIL
|
return BAIL
|
||||||
|
|
||||||
|
@ -222,6 +221,17 @@ class GroupableMixin(metaclass=abc.ABCMeta):
|
||||||
'memberid': member.id,
|
'memberid': member.id,
|
||||||
}
|
}
|
||||||
self.photodb.sql_delete(table=self.group_table, pairs=pairs)
|
self.photodb.sql_delete(table=self.group_table, pairs=pairs)
|
||||||
|
@abc.abstractmethod
|
||||||
|
def remove_child(self, member):
|
||||||
|
return self.__remove_child(member)
|
||||||
|
|
||||||
|
@abc.abstractmethod
|
||||||
|
def remove_children(self, members):
|
||||||
|
bail = True
|
||||||
|
for member in members:
|
||||||
|
bail = (self.__remove_child(member) is BAIL) and bail
|
||||||
|
if bail:
|
||||||
|
return BAIL
|
||||||
|
|
||||||
def walk_children(self):
|
def walk_children(self):
|
||||||
'''
|
'''
|
||||||
|
@ -492,6 +502,11 @@ class Album(ObjectBase, GroupableMixin):
|
||||||
def remove_child(self, *args, **kwargs):
|
def remove_child(self, *args, **kwargs):
|
||||||
return super().remove_child(*args, **kwargs)
|
return super().remove_child(*args, **kwargs)
|
||||||
|
|
||||||
|
@decorators.required_feature('album.edit')
|
||||||
|
@decorators.transaction
|
||||||
|
def remove_children(self, *args, **kwargs):
|
||||||
|
return super().remove_children(*args, **kwargs)
|
||||||
|
|
||||||
def _remove_photo(self, photo):
|
def _remove_photo(self, photo):
|
||||||
self.photodb.log.debug('Removing photo %s from %s', photo, self)
|
self.photodb.log.debug('Removing photo %s from %s', photo, self)
|
||||||
pairs = {'albumid': self.id, 'photoid': photo.id}
|
pairs = {'albumid': self.id, 'photoid': photo.id}
|
||||||
|
@ -1417,6 +1432,15 @@ class Tag(ObjectBase, GroupableMixin):
|
||||||
self.photodb.caches['tag_exports'].clear()
|
self.photodb.caches['tag_exports'].clear()
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
@decorators.required_feature('tag.edit')
|
||||||
|
@decorators.transaction
|
||||||
|
def remove_children(self, *args, **kwargs):
|
||||||
|
ret = super().remove_children(*args, **kwargs)
|
||||||
|
if ret is BAIL:
|
||||||
|
return
|
||||||
|
self.photodb.caches['tag_exports'].clear()
|
||||||
|
return ret
|
||||||
|
|
||||||
@decorators.required_feature('tag.edit')
|
@decorators.required_feature('tag.edit')
|
||||||
@decorators.transaction
|
@decorators.transaction
|
||||||
def remove_synonym(self, synname):
|
def remove_synonym(self, synname):
|
||||||
|
|
Loading…
Reference in a new issue