def find_by_delegateable_name_creator(cls, delegateable, name, creator): import adhocracy.lib.text as text from tag import Tag name = text.tag_normalize(name) try: q = meta.Session.query(Tagging) q = q.filter(Tagging.creator == creator) q = q.filter(Tagging.delegateable == delegateable) q = q.join(Tag) q = q.filter(Tag.name.like(name)) return q.limit(1).first() except Exception, e: log.warn("find_by_delegateable_name_creator(%s): %s" % (id, e)) return None
def find(cls, name, instance_filter=True, include_deleted=False): import adhocracy.lib.text as text name = text.tag_normalize(name) try: q = meta.Session.query(Tag) try: id = int(name) q = q.filter(Tag.id == id) except ValueError: q = q.filter(Tag.name.like(name)) return q.limit(1).first() except Exception, e: log.warn("find(%s): %s" % (name, e)) return None
def create(cls, name): import adhocracy.lib.text as text tag = Tag(text.tag_normalize(name)) meta.Session.add(tag) meta.Session.flush() return tag