Пример #1
0
def createResenha():
    if session['email'] == '' or 'email' not in session:
        flash('Você precisa logar para acessar essa área', 'info')
        return redirect(url_for('log.login'))

    tipo_review = request.form['tipo_review']
    author_id = session['id']
    nome_review = request.form['nome_review']
    spotify_id = request.form['spotify_id']
    review = request.form['review']
    spotifyArtistId = request.form['spotifyArtistId']
    if spotifyArtistId:
        spotifyArtistGenres = SpotifyGetOneArtist(spotifyArtistId).createList().get('genres')
    elif tipo_review == 'playlist':
        spotifyArtistGenres = ''
    else:
        spotifyArtistGenres = SpotifyGetOneArtist(spotify_id).createList().get('genres')

    # -- get Genre --
    genre = ''
    if spotifyArtistGenres:
        for genreName, value in genres.items():
            for i in spotifyArtistGenres:
                if i in value:
                    genre = genreName
                break

    # In case of error, review will be in session
    KeepInSession(request.form['spotify_id'],
                  request.form['nome_review'], request.form['review'])

    ResenhaRepository().New(tipo_review, author_id, nome_review, spotify_id, review, genre)
    CleanSession()
    flash('Resenha criada com sucesso', 'success')
    return redirect(url_for('ind.home'))
Пример #2
0
def index():
    if 'id' not in session:
        __createSessionVariables()
    spotifyArtist = []
    spotifyAlbum = []
    spotifyTrack = []
    spotifyPlaylist = []

    users = UsersRepository().List()
    reviewsArtist = ResenhaRepository().List('artista', 6)
    reviewsAlbum = ResenhaRepository().List('album', 6)
    reviewsTrack = ResenhaRepository().List('track', 6)
    reviewsPlaylist = ResenhaRepository().List('playlist', 6)
    for item in reviewsArtist:
        spotifyArtist.append(SpotifyGetOneArtist(item.spotify_id).oneArtist)
    for item in reviewsAlbum:
        spotifyAlbum.append(SpotifyGetOneAlbum(item.spotify_id).oneAlbum)
    for item in reviewsTrack:
        spotifyTrack.append(SpotifyGetOneTrack(item.spotify_id).oneTrack)
    for item in reviewsPlaylist:
        spotifyPlaylist.append(
            SpotifyGetOnePlaylist(item.spotify_id).onePlaylist)

    if session['id'] != '':
        comments = CommentsRepository().listAuthorId(session['id'])
        likeNotifications = CurtidasRepository().listAuthorId(session['id'])
        usersNotifications = UsersRepository().List()
        resenhasListAll = ResenhaRepository().ListAll()
        notifyComment = UsersRepository().FindById(session['id']).read_comment
        notifyLike = UsersRepository().FindById(session['id']).read_like

        return render_template('index.html',
                               reviewsArtist=reviewsArtist,
                               reviewsAlbum=reviewsAlbum,
                               reviewsTrack=reviewsTrack,
                               reviewsPlaylist=reviewsPlaylist,
                               users=users,
                               spotifyArtist=spotifyArtist,
                               spotifyAlbum=spotifyAlbum,
                               spotifyTrack=spotifyTrack,
                               spotifyPlaylist=spotifyPlaylist,
                               mainFilter='index',
                               comments=comments,
                               usersNotifications=usersNotifications,
                               likeNotifications=likeNotifications,
                               resenhasListAll=resenhasListAll,
                               notifyComment=notifyComment,
                               notifyLike=notifyLike)
    else:
        return render_template('index.html',
                               reviewsArtist=reviewsArtist,
                               reviewsAlbum=reviewsAlbum,
                               reviewsTrack=reviewsTrack,
                               reviewsPlaylist=reviewsPlaylist,
                               users=users,
                               spotifyArtist=spotifyArtist,
                               spotifyAlbum=spotifyAlbum,
                               spotifyTrack=spotifyTrack,
                               spotifyPlaylist=spotifyPlaylist,
                               mainFilter='index')
Пример #3
0
def resenhaEdit(id):
    data = ResenhaRepository().FindById(id)
    spotifyId = data.spotify_id
    if data.tipo_review == 'artista':
        spotify = SpotifyGetOneArtist(spotifyId).oneArtist
    elif data.tipo_review == 'album':
        spotify = SpotifyGetOneAlbum(spotifyId).oneAlbum
    elif data.tipo_review == 'track':
        spotify = SpotifyGetOneTrack(spotifyId).oneTrack
    else:
        spotify = SpotifyGetOnePlaylist(spotifyId).onePlaylist

    if session['id'] != data.author_id:
        return redirect(url_for('ind.home'))
    else:
        voltarButton = request.headers.get("Referer")

        if session['id'] != '':
            comments = CommentsRepository().listAuthorId(session['id'])
            likeNotifications = CurtidasRepository().listAuthorId(session['id'])
            usersNotifications = UsersRepository().List()
            resenhasListAll = ResenhaRepository().ListAll()
            notifyComment = UsersRepository().FindById(session['id']).read_comment
            notifyLike = UsersRepository().FindById(session['id']).read_like

            return render_template('resenha/resenhaEdit.html', data=data, spotify=spotify, voltarButton=voltarButton,
                                   comments=comments, usersNotifications=usersNotifications,
                               likeNotifications=likeNotifications, resenhasListAll=resenhasListAll,
                                   notifyComment=notifyComment, notifyLike=notifyLike)
        else:
            return render_template('resenha/resenhaEdit.html', data=data, spotify=spotify, voltarButton=voltarButton)
Пример #4
0
def resenhado(id):

    if 'id' not in session:
        session['id'] = ''

    data = ResenhaRepository().FindById(id)
    spotifyId = data.spotify_id
    if data.tipo_review == 'artista':
        spotify = SpotifyGetOneArtist(spotifyId).oneArtist
    elif data.tipo_review == 'album':
        spotify = SpotifyGetOneAlbum(spotifyId).oneAlbum
    elif data.tipo_review == 'track':
        spotify = SpotifyGetOneTrack(spotifyId).oneTrack
    else:
        spotify = SpotifyGetOnePlaylist(spotifyId).onePlaylist

    user_author = UsersRepository().FindById(data.author_id)
    date = DateConversion(str(data.date_register))

    like = CurtidasRepository().CountLikes(id).count

    commentsList = CommentsRepository().List(id)
    comment_user = UsersRepository().List()

    try:
        if CurtidasRepository().FindById(session['id'], id):
            PNG = 'unclick'
        else:
            PNG = 'click'
    except:
        PNG = 'click'

    if session['id'] != '':
        comments = CommentsRepository().listAuthorId(session['id'])
        likeNotifications = CurtidasRepository().listAuthorId(session['id'])
        usersNotifications = UsersRepository().List()
        resenhasListAll = ResenhaRepository().ListAll()
        notifyComment = UsersRepository().FindById(session['id']).read_comment
        notifyLike = UsersRepository().FindById(session['id']).read_like

        return render_template('resenha/resenhado.html', data=data, spotify=spotify, user_author=user_author, date=date,
                               commentsList=commentsList, comment_user=comment_user, like=like, PNG=PNG,
                               comments=comments, usersNotifications=usersNotifications,
                               likeNotifications=likeNotifications, resenhasListAll=resenhasListAll,
                               notifyComment=notifyComment, notifyLike=notifyLike)

    else:
        return render_template('resenha/resenhado.html', data=data, spotify=spotify, user_author=user_author, date=date,
                               commentsList=commentsList, comment_user=comment_user, like=like, PNG=PNG)
Пример #5
0
def resenhaNewArtist(artistId):
    if session['email'] == '' or 'email' not in session:
        flash('Você precisa logar para acessar essa área', 'info')
        return redirect(url_for('log.login'))

    spotify = SpotifyGetOneArtist(artistId).createList()

    if session['id'] != '':
        comments = CommentsRepository().listAuthorId(session['id'])
        likeNotifications = CurtidasRepository().listAuthorId(session['id'])
        usersNotifications = UsersRepository().List()
        resenhasListAll = ResenhaRepository().ListAll()
        notifyComment = UsersRepository().FindById(session['id']).read_comment
        notifyLike = UsersRepository().FindById(session['id']).read_like

        return render_template('resenha/resenhaNew.html', spotify=spotify, tipo_review='artista', comments=comments,
                               usersNotifications=usersNotifications, likeNotifications=likeNotifications,
                               resenhasListAll=resenhasListAll, notifyComment=notifyComment, notifyLike=notifyLike)
    else:
        return render_template('resenha/resenhaNew.html', spotify=spotify, tipo_review='artista')
def filterArtist():

    if 'id' not in session:
        session['id'] = ''

    spotifyArtist = []

    users = UsersRepository().List()
    reviewsArtist = ResenhaRepository().List('artista')

    for item in reviewsArtist:
        spotifyArtist.append(SpotifyGetOneArtist(item.spotify_id).oneArtist)

    if session['id'] != '':
        comments = CommentsRepository().listAuthorId(session['id'])
        likeNotifications = CurtidasRepository().listAuthorId(session['id'])
        usersNotifications = UsersRepository().List()
        resenhasListAll = ResenhaRepository().ListAll()
        notifyComment = UsersRepository().FindById(session['id']).read_comment
        notifyLike = UsersRepository().FindById(session['id']).read_like

        return render_template('filters/filterArtists.html',
                               reviewsArtist=reviewsArtist,
                               spotifyArtist=spotifyArtist,
                               users=users,
                               comments=comments,
                               notifyComment=notifyComment,
                               notifyLike=notifyLike,
                               usersNotifications=usersNotifications,
                               likeNotifications=likeNotifications,
                               resenhasListAll=resenhasListAll)

    else:
        return render_template('filters/filterArtists.html',
                               reviewsArtist=reviewsArtist,
                               spotifyArtist=spotifyArtist,
                               users=users)
def myPage(name, surname):

    if 'id' not in session:
        session['id'] = ''

    try:
        authorID = ResenhaRepository().FindAuthorByNameSurname(
            str(name).title(),
            str(surname).title()).id
        if not authorID:
            return redirect(url_for('ind.home'))

        reviews = ResenhaRepository().FindAuthorById(authorID)
        if not reviews:

            flash(
                f'{str(name).title()} {str(surname).title()} ainda não criou resenhas',
                'info')
            return redirect(url_for('ind.home'))
        else:
            flash(
                f'Resenhas de {str(name).title()} {str(surname).title()}: '
                f"   resenhando.co/{str(name).lower()}-{str(surname).lower()}   ",
                'info')

            spotifyArtist = []
            spotifyAlbum = []
            spotifyTrack = []
            spotifyPlaylist = []
            reviewsArtist = []
            reviewsAlbum = []
            reviewsTrack = []
            reviewsPlaylist = []

            users = UsersRepository().List()
            for item in reviews:
                if item.tipo_review == 'artista':
                    reviewsArtist.append(item)
                elif item.tipo_review == 'album':
                    reviewsAlbum.append(item)
                elif item.tipo_review == 'track':
                    reviewsTrack.append(item)
                elif item.tipo_review == 'playlist':
                    reviewsPlaylist.append(item)

            for item in reviews:
                if item.tipo_review == 'artista':
                    spotifyArtist.append(
                        SpotifyGetOneArtist(item.spotify_id).oneArtist)
                elif item.tipo_review == 'album':
                    spotifyAlbum.append(
                        SpotifyGetOneAlbum(item.spotify_id).oneAlbum)
                elif item.tipo_review == 'track':
                    spotifyTrack.append(
                        SpotifyGetOneTrack(item.spotify_id).oneTrack)
                elif item.tipo_review == 'playlist':
                    spotifyPlaylist.append(
                        SpotifyGetOnePlaylist(item.spotify_id).onePlaylist)

            if session['id'] != '':
                comments = CommentsRepository().listAuthorId(session['id'])
                likeNotifications = CurtidasRepository().listAuthorId(
                    session['id'])
                usersNotifications = UsersRepository().List()
                resenhasListAll = ResenhaRepository().ListAll()
                notifyComment = UsersRepository().FindById(
                    session['id']).read_comment
                notifyLike = UsersRepository().FindById(
                    session['id']).read_like

                return render_template('resenha/resenhaViews.html',
                                       reviewsArtist=reviewsArtist,
                                       reviewsAlbum=reviewsAlbum,
                                       reviewsTrack=reviewsTrack,
                                       reviewsPlaylist=reviewsPlaylist,
                                       users=users,
                                       spotifyArtist=spotifyArtist,
                                       spotifyAlbum=spotifyAlbum,
                                       spotifyTrack=spotifyTrack,
                                       spotifyPlaylist=spotifyPlaylist,
                                       mainFilter='myPage',
                                       comments=comments,
                                       usersNotifications=usersNotifications,
                                       likeNotifications=likeNotifications,
                                       resenhasListAll=resenhasListAll,
                                       notifyComment=notifyComment,
                                       notifyLike=notifyLike)

            else:
                return render_template('index.html',
                                       reviewsArtist=reviewsArtist,
                                       reviewsAlbum=reviewsAlbum,
                                       reviewsTrack=reviewsTrack,
                                       reviewsPlaylist=reviewsPlaylist,
                                       users=users,
                                       spotifyArtist=spotifyArtist,
                                       spotifyAlbum=spotifyAlbum,
                                       spotifyTrack=spotifyTrack,
                                       spotifyPlaylist=spotifyPlaylist,
                                       mainFilter='myPage')

    except:
        flash('Usuário não identificado', 'danger')
        return redirect(url_for('ind.home'))
def genresBody(genreLink):

    if 'id' not in session:
        session['id'] = ''

    genreLink = genreLink
    users = UsersRepository().List()
    genres = genres_model.genres
    resenhasListAll = ResenhaRepository().ListAll()
    spotifyArtist = []
    spotifyAlbum = []
    spotifyTrack = []

    reviewsArtist = ResenhaRepository().ListOneGenre('artista', genreLink)
    for item in reviewsArtist:
        print(item.genre)
    reviewsAlbum = ResenhaRepository().ListOneGenre('album', genreLink)
    reviewsTrack = ResenhaRepository().ListOneGenre('track', genreLink)
    for item in reviewsArtist:
        spotifyArtist.append(SpotifyGetOneArtist(item.spotify_id).oneArtist)
    for item in reviewsAlbum:
        spotifyAlbum.append(SpotifyGetOneAlbum(item.spotify_id).oneAlbum)
    for item in reviewsTrack:
        spotifyTrack.append(SpotifyGetOneTrack(item.spotify_id).oneTrack)

    genreCount = {}
    for item in genres:
        count = 0
        for genre in resenhasListAll:
            if genre.genre == item:
                count += 1
        if count > 0:
            genreCount[item] = count

    if session['id'] != '':
        comments = CommentsRepository().listAuthorId(session['id'])
        likeNotifications = CurtidasRepository().listAuthorId(session['id'])
        usersNotifications = UsersRepository().List()
        notifyComment = UsersRepository().FindById(session['id']).read_comment
        notifyLike = UsersRepository().FindById(session['id']).read_like

        return render_template('filters/genresBody.html',
                               users=users,
                               reviewsArtist=reviewsArtist,
                               reviewsAlbum=reviewsAlbum,
                               reviewsTrack=reviewsTrack,
                               spotifyArtist=spotifyArtist,
                               spotifyAlbum=spotifyAlbum,
                               spotifyTrack=spotifyTrack,
                               comments=comments,
                               usersNotifications=usersNotifications,
                               likeNotifications=likeNotifications,
                               notifyComment=notifyComment,
                               notifyLike=notifyLike,
                               genres=genres,
                               genreCount=genreCount,
                               genreLink=genreLink)
    else:
        return render_template('filters/genresBody.html',
                               users=users,
                               reviewsArtist=reviewsArtist,
                               reviewsAlbum=reviewsAlbum,
                               reviewsTrack=reviewsTrack,
                               spotifyArtist=spotifyArtist,
                               spotifyAlbum=spotifyAlbum,
                               spotifyTrack=spotifyTrack,
                               genres=genres,
                               genreCount=genreCount,
                               genreLink=genreLink)
Пример #9
0
from models.genres_model import genres
from thirdparty.spotify import SpotifyGetOneArtist
genre = ''
spotifyArtistGenres = SpotifyGetOneArtist(
    '28hJdGN1Awf7u3ifk2lVkg').createList().get('genres')

if spotifyArtistGenres:
    for genreName, value in genres.items():
        for i in spotifyArtistGenres:
            if i in value:
                genre = genreName
            break
print(genre)

# pop - 3MHaV05u0io8fQbZ2XPtlC
# testament - 28hJdGN1Awf7u3ifk2lVkg
# metallica -