def new(): ''' Create a new festival (new_url_slug), gather user preferences of organizer, save festival to dB, save organizer to dB as a contributor and redirect to newly minted festival page. ''' current_user = load_user(session.get('user_id')) new_url_slug = helpers.generate_urlslug(current_user.id) new_catalog = helpers.Catalog(new_url_slug, 'general') s = spotipy.Spotify(auth=current_user.access) processor = helpers.AsyncAdapter(app) user_cache.save_preferences(processor.get_user_preferences(s), new_url_slug) artists = user_cache.retrieve_preferences(new_url_slug) if user_cache.retrieve_preferences(new_url_slug): processor.populate_catalog(artists, 3, catalog=new_catalog) db.save_to_database(None, current_user.id, None, None, new_catalog.id, new_url_slug) current_festival = db.get_info_from_database(new_url_slug) festivalId = current_festival[0] userId = current_festival[2] if app.config['IS_ASYNC']: db.save_contributor.apply_async(args=(festivalId, userId), kwargs={'organizer': 1, 'ready': 1}) else: db.save_contributor(festivalId, userId, organizer=1, ready=1) app.logger.warning("NEW festival created at '{}'".format(new_url_slug)) return redirect(url_for('festival', url_slug=new_url_slug))
def new(): current_user = load_user(session.get('user_id')) new_url_slug = helpers.generate_urlslug(current_user.id) new_catalog = helpers.Catalog(new_url_slug, 'general') s = spotipy.Spotify(auth=current_user.access) processor = helpers.AsyncAdapter(app) user_cache.save_preferences(processor.get_user_preferences(s), new_url_slug) artists = user_cache.retrieve_preferences(new_url_slug) if user_cache.retrieve_preferences(new_url_slug): processor.populate_catalog(artists, 3, catalog=new_catalog) if app.config['IS_ASYNC'] is True: save_task = db.save_to_database.apply_async(args=[None, current_user.id, None, None, new_catalog.id, new_url_slug]) while True: if save_task.state == 'SUCCESS': print 'just saved DB' break else: db.save_to_database(None, current_user.id, None, None, new_catalog.id, new_url_slug) current_festival = db.get_info_from_database(new_url_slug) festivalId = current_festival[0] userId = current_festival[2] try: db.save_contributor(festivalId, userId, organizer=1, ready=1) except: print ("SAVING CONTRIBUTOR FAILED!") return redirect(url_for('festival', url_slug=new_url_slug))
def join(url_slug): print ("URLSLUG HERE IS {}".format(url_slug)) current_festival = db.get_info_from_database(url_slug) if not current_festival: flash(("Festival '{}' does not exist! Please check" " the code and try again.").format(url_slug)) return redirect(url_for('home')) organizer = current_festival[2] _user = session.get('user_id') if organizer != _user: try: db.save_contributor(current_festival[0], _user) except: print ("Contributor {} is already in the database.".format(_user)) else: flash("Welcome back to your own festival!") return redirect(url_for('festival', url_slug=url_slug))
def join(url_slug): ''' Adds current logged-in user to festival located at url_slug. If user is a contributor, this information is saved to dB. ''' current_festival = db.get_info_from_database(url_slug) if not current_festival: flash(("Festival '{}' does not exist! Please check" " the code and try again.").format(url_slug)) return redirect(url_for('home')) organizer = current_festival[2] _user = session.get('user_id') app.logger.warning("User '{}' is joining festival '{}'".format(_user, url_slug)) if organizer != _user: try: db.save_contributor(current_festival[0], _user) except: app.logger.warning("Contributor {} is already in the database.".format(_user)) else: flash("Welcome back to your own festival!") return redirect(url_for('festival', url_slug=url_slug))