def addSong(): genres = session.query(Genre).order_by(asc(Genre.name)) if request.method == 'POST': if request.form['youtube_url']: # Decided to be more user friendly and ask users to enter a # youtube url. Since the url is consistent and only the query_id # changes, I extract the query id from the url youtube_id = request.form['youtube_url'].split("v=", 1)[1] if request.form['genre_id']: genre_id = request.form['genre_id'] user_id = getUserID(login_session['email']) new_song = Song(name=request.form['song-name'], artist_name=request.form['artist-name'], youtube_id=youtube_id, genre_id=genre_id, user_id=user_id) session.add(new_song) session.commit() flash('Successfully Added %s - %s' % (new_song.name, new_song.artist_name)) return redirect(url_for('userSongs')) else: return render_template('addsong.html', genres=genres)
def newSong(genre_id): if 'username' not in login_session: return redirect('/login') genre = session.query(Genre).filter_by(id= genre_id).one() if login_session['user_id'] != genre.user_id: return "<script>function myFunction() {alert('You are not authorized to add songs to this playlist. Please create your own playlist in order to add songs.');}</script><body onload='myFunction()'>" if request.method == 'POST': newSong = Song(name = request.form['name'], \ artist = request.form['artist'], album = request.form['album'],\ genre_id = genre_id) session.add(newSong) session.commit() flash('%s Successfully Added' % (newSong.name)) return redirect(url_for('showPlaylist', genre_id = genre_id)) else: return render_template('newSong.html', genre = genre)
def newSong(genre_id): if 'username' not in login_session: return redirect('/login') genre = session.query(Genre).filter_by(id=genre_id).one() if request.method == 'POST': newSong = Song(name=request.form['name'], genre_id=genre_id, band_name=request.form['band_name'], country=request.form['country'], youtube_url=request.form['youtube_url'], user_id=login_session['user_id']) session.add(newSong) session.commit() flash('New song %s successfully created' % (newSong.name)) return redirect(url_for('showSongs', genre_id=genre_id)) else: return render_template('new-song.html', genre_id=genre_id)
def populateDb(username, token): """Add items found in the user's Discogs collection to the sqlite DB. args: Discogs username, Discogs API token """ # create user me = User(name='Gry0u', email='*****@*****.**') session.add(me) session.commit() # get all the release IDs in the user collection # then get the infos for each release using the api # Use the infos to set values for the new entries in the SQL DB # add new entries in DB for release in getReleasesID(username, token): infos = getReleaseInfo(release, token) if infos: if not session.query(Genre).filter_by(name=infos['genre']).first(): genre = Genre(name=infos['genre'], user=me) session.add(genre) session.commit() print 'Genre added' else: genre = (session.query(Genre).filter_by( name=infos['genre']).first()) album = Album(title=infos['title'], artist=infos['artist'], label=infos['label'], released=infos['released'], image=infos['image'], genre=genre, user=me) session.add(album) session.commit() print 'Album added' for song in infos['songs']: song = Song(position=song['position'], title=song['title'], album=album, user=me) session.add(song) session.commit() print 'song added' print 'Insertion of new items in DB completed !'
def newSong(playlist_id): if 'username' not in login_session: return redirect('/login') playlist = session.query(Playlist).filter_by(id=playlist_id).one() if login_session['user_id'] != playlist.user_id: return "<script>function myFunction() {alert('You are not authorized to add items to this playlist. Please create your own playlist in order to add items.');}</script><body onload='myFunction()''>" if request.method == 'POST': newItem = Song(name=request.form['name'], artist=request.form['artist'], album=request.form['album'], playlist_id=playlist_id, user_id=playlist.user_id) session.add(newItem) session.commit() flash('New %s Song Successfully Added to the Playlist' % (newItem.name)) return redirect(url_for('showSongs', playlist_id=playlist_id)) else: return render_template('newsong.html', playlist_id=playlist_id)
def newSong(release_id): """Render template to add song to a release and handle post request.""" if 'username' not in login_session: return redirect('/login') release = session.query(Album).filter_by(id=release_id).one() # connected user must be the creator of a release to add a new song to it if login_session['user_id'] != release.user_id: return render_template('notallowed.html') if request.method == 'POST': song = Song( title=request.form['title'], position=request.form['position'], release_id=release.id, # force song.user_id == release.user_id user_id=release.user_id) session.add(song) session.commit() flash('New song added!') return redirect(url_for('showSongs', release_id=release_id)) if request.method == 'GET': return render_template('newsong.html', release=release)
def newSong(band_id): # must be logged in to continue if 'username' not in login_session: flash('You have to log in to add a song!') return redirect(url_for('showBands')) loggedInUser = getUserInfo(login_session['user_id']) band = allBands.filter_by(id=band_id).one() # must be the band creator to continue if loggedInUser.id != band.user_id: flash('You have to be the creator of a band to add a song!') return redirect(url_for('showBands')) if request.method == 'POST': newSong = Song(band_id=band_id, title=request.form['title'], description=request.form['description'], user_id=loggedInUser.id) session.add(newSong) session.commit() flash('New Song %s Successfully Added' % (newSong.title)) return redirect(url_for('showSongs', band_id=band_id)) else: return render_template('newSong.html', band=band, loggedInUser=loggedInUser)
session.commit() genre4 = Genre(name="Rock") session.add(genre4) session.commit() genre5 = Genre(name="Country") session.add(genre5) session.commit() # Songs song1 = Song(name="Morning Call", artist_name="Nick Colionne", youtube_id="QsuZPScE5uc", genre=genre1, user=user1) session.add(song1) session.commit() song2 = Song(name="Black Beatles", artist_name="Rae Sremmurd", youtube_id="b8m9zhNAgKs", genre=genre2, user=user1) session.add(song2) session.commit()
email="*****@*****.**", picture= 'https://pbs.twimdgdaSD.com/profile_images/2671170543/18debd694829ed78203a5a36dd364160_400x400.png' ) session.add(User3) session.commit() # Looping genre music dump loopingGenre = Genre(name="looping", user_id=1) session.add(loopingGenre) session.commit() song1 = Song(name="Retcon", band_name="Mylets", country="US", youtube_url="https://www.youtube.com/watch?v=GJ9OQLovpr4", genre=loopingGenre, user_id=1) session.add(song1) session.commit() song2 = Song(name="Indian Winter", band_name="El Ten Eleven", country="US", youtube_url="https://www.youtube.com/watch?v=mTkPfjSXFpo", genre=loopingGenre, user_id=1) session.add(song2) session.commit() song3 = Song(name="Emulsifaction",
# session won't be persisted into the database until you call # session.commit(). If you're not happy about the changes, you can # revert all of them back to the last commit by calling # session.rollback() session = DBSession() user1 = User(id=1, name="will", email="will.email.com") #Playlist for Rock genre1 = Genre(name="Rock", user=user1) session.add(genre1) session.commit() song1 = Song(name="Mr. Brightside", artist="The Killers", album="Hot Fuss", genre=genre1, user=user1) session.add(song1) session.commit() song2 = Song(name="Seven Nation Army", artist="The White Stripes", album="Elephant", genre=genre1, user=user1) session.add(song2) session.commit() song3 = Song(name="Uprising", artist="Muse",
from database_setup import Base, Song, Singer, User engine = create_engine('sqlite:///catalog.db?check_same_thread=False') engine = create_engine('postgresql://*****:*****@localhost/catalog') Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() User1 = User( name="Robo Barista", email="*****@*****.**", picture= 'https://pbs.twimg.com/profile_images/2671170543/18debd694829ed78203a5a36dd364160_400x400.png' ) session.add(User1) session.commit() singer = Singer(user_id=1, name='Hozier') session.add(singer) session.commit() session.query(Singer).all() song = Song(user_id=1, name="Someone new", description="Made with love", album="ALBUM", year_released="2014", singer=singer) session.add(song) session.commit() session.query(Song).all()