Example #1
0
def save():
    try:
        if 'character' in request.form:
            g.user.save_character(request.form)
        if 'save_pickiness' in request.form:
            g.user.save_pickiness(request.form)
        if 'create' in request.form:
            chat = request.form['chaturl']
            if g.redis.exists('chat.'+chat+'.meta'):
                raise ValueError('chaturl_taken')
            # USE VALIDATE_CHAT_URL
            if not validate_chat_url(chat):
                raise ValueError('chaturl_invalid')
            g.user.set_chat(chat)
            if g.user.meta['group']!='globalmod':
                g.user.set_group('mod')
            g.redis.hset('chat.'+chat+'.meta', 'type', 'group')
            get_or_create_log(g.redis, g.mysql, chat)
            g.mysql.commit()
            return redirect(url_for('chat', chat=chat))
    except ValueError as e:
        return show_homepage(e.args[0])

    if 'search' in request.form:
        return redirect(url_for('chat'))
    else:
        return redirect(url_for('configure'))
Example #2
0
def create_chat_session():
    # Create a user object, using session and chat IDs.
    session_id = request.cookies.get('session', None)
    # Don't accept chat requests if there's no cookie.
    if session_id is None:
        abort(400)
    # Validate chat ID.
    if 'chat' in request.form and validate_chat_url(request.form['chat']):
        chat = request.form['chat']
    else:
        abort(400)
    g.chat_type = g.redis.hget('chat.'+chat+'.meta', 'type')
    if g.chat_type is None:
        abort(404)
    g.user = user = Session(g.redis, session_id, chat)
Example #3
0
def save_log():
    if not validate_chat_url(request.form['chat']):
        abort(400)
    chat_type = g.redis.hget('chat.'+request.form['chat']+'.meta', 'type')
    if chat_type not in ['unsaved', 'saved']:
        abort(400)
    log_id = archive_chat(g.redis, g.mysql, request.form['chat'])
    g.redis.hset('chat.'+request.form['chat']+'.meta', 'type', 'saved')
    g.redis.zadd('archive-queue', request.form['chat'], get_time(ARCHIVE_PERIOD))
    if 'tumblr' in request.form:
        # Set the character list as tags.
        tags = g.redis.smembers('chat.'+request.form['chat']+'.characters')
        tags.add('msparp')
        url_tags = urllib.quote_plus(','.join(tags))
        return redirect('http://www.tumblr.com/new/link?post[one]=Check+out+this+chat+I+just+had+on+MSPARP!&post[two]=http%3A%2F%2Funsupported.msparp.com%2Flogs%2F'+str(log_id)+'&post[source_url]=http%3A%2F%2Fmsparp.com%2F&tags='+url_tags)
    return redirect(url_for('view_log', chat=request.form['chat']))
Example #4
0
def create_chat_session():
    # Create a user object, using session and chat IDs.
    session_id = request.cookies.get('session', None)
    # If this is a health check let it pass
    if request.path == '/health':
        return
    # Don't accept chat requests if there's no cookie.
    if session_id is None:
        abort(400)
    # Validate session ID.
    if session_validator.match(session_id) is None:
        abort(400)
    # Validate chat ID.
    if 'chat' in request.form and validate_chat_url(request.form['chat']):
        chat = request.form['chat']
    else:
        abort(400)
    g.chat_type = g.redis.hget('chat.' + chat + '.meta', 'type')
    if g.chat_type is None:
        abort(404)
    g.user = user = Session(g.redis, session_id, chat)
Example #5
0
def create_chat_session():
    # Create a user object, using session and chat IDs.
    session_id = request.cookies.get('session', None)
    # If this is a health check let it pass
    if request.path == '/health':
        return
    # Don't accept chat requests if there's no cookie.
    if session_id is None:
        abort(400)
    # Validate session ID.
    if session_validator.match(session_id) is None:
        abort(400)
    # Validate chat ID.
    if 'chat' in request.form and validate_chat_url(request.form['chat']):
        chat = request.form['chat']
    else:
        abort(400)
    g.chat_type = g.redis.hget('chat.'+chat+'.meta', 'type')
    if g.chat_type is None:
        abort(404)
    g.user = user = Session(g.redis, session_id, chat)