def do(self): ''' (Delete) -> Delete Attempts to delete tags from any item containing the selected tags. ''' import models.item zot = self.getOwner().getApi() # first, set pending self.set('pending', True).commit() # cycle through each tag for tag in self.get('from'): zot.add_parameters(tag=tag) query = zot.everything(zot.top()) # get Items from ids items = [ models.item.Item(item['data']['key'], self.getOwner()) for item in query ] # through each item found with tag for item in items: # remove the tags and commit item.removeTags(*self.get('from')).commit() self.set('complete', True).set('pending', False) return self
def do(self): ''' (Merge) -> Merge Attempts to merge any item containing a tag existing in this Merge's "from" list and adds the tag "to" to that item. ''' import models.item zot = self.getOwner().getApi() # first, set pending self.set('pending', True).commit() # cycle through each tag for tag in self.get('from'): zot.add_parameters(tag=tag) query = zot.everything(zot.top()) # get Items from ids items = [ models.item.Item(item['data']['key'], self.getOwner()) for item in query ] # through each item found with tag for item in items: # remove the tags and append merge tag item.removeTags(*self.get('from')).addTags(self.get('to')) # and commit item.commit() self.set('complete', True).set('pending', False) return self