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)
def has_selector(self, text): normalized = Selector.normalize(text) for selector in self.selectors: if selector.normalized == normalized: return True return False
def apply_filter(cls, q, col, prefix): prefix = Selector.normalize(prefix) return q.filter(or_(col.like('%s%%' % prefix), col.like('%% %s%%' % prefix)))
def apply_filter(cls, q, col, prefix): prefix = Selector.normalize(prefix) return q.filter( or_(col.like('%s%%' % prefix), col.like('%% %s%%' % prefix)))