Exemplo n.º 1
0
def get_tracks_by_days():

    try:
        tracks = []
  
        days = request.args.get('days')
        assert(days.isnumeric())
  
        query = f"""SELECT spotifyid, title, valence, play_date FROM tracks
        WHERE play_date >= date('now','-{days} days') ORDER BY play_date ASC;
        """
        with sqlite3.connect(dbFile) as connection:
            cur = connection.cursor()
            cur.execute(query)  
            queriedTracks = cur.fetchall()
   
        print(queriedTracks)

        for (spotifyid, title, valence, date) in queriedTracks:
            current_track = Track(
                id=spotifyid,
                title=title,
                valence=valence,
                playDate=date
            )
            tracks.append(current_track.asJSON())

    except Exception as e:
        print(e)
        return Response(status=500, mimetype='application/json')

    if len(tracks) == 0:
        return jsonify(tracks), 204
    else:
        return jsonify(tracks), 200
Exemplo n.º 2
0
def get_tracks_by_date():

    try:
        tracks = []

        startDate = request.args.get('startDate')
        endDate = request.args.get('endDate')
  
        assert(isDate(startDate))
        assert(isDate(endDate))

        query = f"""SELECT title, valence, play_date, spotifyid FROM tracks 
                      WHERE date(play_date) BETWEEN '{startDate}' and '{endDate}' 
                    ORDER BY play_date ASC;"""

        with sqlite3.connect(dbFile) as connection:
            connection.set_trace_callback(print)
            cur = connection.cursor()
            cur.execute(query)
            queriedTracks = cur.fetchall()

        for (title, valence, date, spotifyid) in queriedTracks:
            current_track = Track(
                id=spotifyid,
                title=title,
                valence=valence,
                playDate=date
            )
            tracks.append(current_track.asJSON())

    except Exception as e:
        print(e)
        return Response(status=500, mimetype='application/json')

    if len(tracks) == 0:
        return jsonify(tracks)
    else:
        return jsonify(tracks)