Exemple #1
0
    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
Exemple #2
0
    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