Ejemplo n.º 1
0
 def channels(self):
     user = request.args.get('user', '')
     if 'user' in request.args.keys():
         if not re.match('^[\w-]+$', user):
             user = None
         return jsonify(Channel.get_form_choices(owner=user))
     exact_name = request.args.get('exact_name', '')
     if exact_name:
         channels = list(Channel.query.filter(Channel.title == exact_name).values(Channel.id, Channel.title))
         if not channels:
             channels = list(Channel.query.filter(Channel.id == exact_name).values(Channel.id, Channel.title))
         return jsonify(channels)
     prefix = request.args.get('prefix', '').lower()
     if prefix and re.match('^[!&#\w ]+$', prefix):
         return jsonify(Channel.query.filter(
             Channel.deleted == False,
             Channel.public == True,
             func.lower(Channel.title).like(prefix + '%')
         ).values(Channel.id, Channel.title))
     return jsonify([])