def dj_wrapper(*args, **kwargs): # Call in the function first incase it changes the timeout ret = f(*args, **kwargs) redis_conn.set('dj_active', 'true') # logout/login must delete this dj_timeout expire = redis_conn.get('dj_timeout') if redis_conn.get('dj_timeout') is None: expire = app.config['DJ_TIMEOUT'] redis_conn.expire('dj_active', int(expire)) return ret
def logout(setid): djset = DJSet.query.get_or_404(setid) if djset.dtend is None: djset.dtend = datetime.datetime.utcnow() else: # This has already been logged out return redirect(url_for('trackman.login')) db.session.commit() # Reset the dj activity timeout period redis_conn.delete('dj_timeout') # Set dj_active expiration to NO_DJ_TIMEOUT to reduce automation start time redis_conn.set('dj_active', 'false') redis_conn.expire('dj_active', int(app.config['NO_DJ_TIMEOUT'])) # email playlist if 'email_playlist' in request.form and request.form.get('email_playlist') == 'true': email_playlist(djset) return redirect(url_for('trackman.login'))