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'))
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)
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']))
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)
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)