Example #1
0
    def update(self, data):
        data = EntityForm().deserialize(data)
        self.label = data.get('label')
        self.list = data.get('list')
        self.category = data.get('category')

        selectors = set(data.get('selectors'))
        selectors.add(self.label)
        existing = list(self.selectors)
        for sel in list(existing):
            if sel.text in selectors:
                selectors.remove(sel.text)
                existing.remove(sel)
        for sel in existing:
            db.session.delete(sel)
        for text in selectors:
            sel = Selector()
            sel.entity = self
            sel.text = text
            db.session.add(sel)
Example #2
0
    def update(self, data):
        data = EntityForm().deserialize(data)
        self.label = data.get('label')
        self.list = data.get('list')
        self.category = data.get('category')

        selectors = set(data.get('selectors'))
        selectors.add(self.label)
        existing = list(self.selectors)
        for sel in list(existing):
            if sel.text in selectors:
                selectors.remove(sel.text)
                existing.remove(sel)
        for sel in existing:
            db.session.delete(sel)
        for text in selectors:
            sel = Selector()
            sel.entity = self
            sel.text = text
            db.session.add(sel)
Example #3
0
 def has_selector(self, text):
     normalized = Selector.normalize(text)
     for selector in self.selectors:
         if selector.normalized == normalized:
             return True
     return False
Example #4
0
 def apply_filter(cls, q, col, prefix):
     prefix = Selector.normalize(prefix)
     return q.filter(or_(col.like('%s%%' % prefix),
                         col.like('%% %s%%' % prefix)))
Example #5
0
 def has_selector(self, text):
     normalized = Selector.normalize(text)
     for selector in self.selectors:
         if selector.normalized == normalized:
             return True
     return False
Example #6
0
 def apply_filter(cls, q, col, prefix):
     prefix = Selector.normalize(prefix)
     return q.filter(
         or_(col.like('%s%%' % prefix), col.like('%% %s%%' % prefix)))