Kevin Mok
0c0520af8c
Added most common genre to all tracks ( closes #34 )
Resolved issue of there being multiple artists on a track and "manually
created" an undefined genre for artists that don't have a genre.
7 years ago
Kevin Mok
85c178f2b3
Resolves #39
7 years ago
Kevin Mok
3fe52343aa
Use "several" API call to get audio features
Closes #20 . Also close #38 since parse_library is a bit cleaner now with
some folds, and there's not much to be refactored any more.
7 years ago
Chris Shyi
4c55744db8
Update docstring for parse_library()
The docstring of parse_library still mentions the library_stats
dictionary, which had already been removed.
7 years ago
Chris Shyi
bdc88b5bdb
Create separate page for audio features
An additional page where the user will be directed after logging in was
created. A link to the audio features display page was added to the
aforementioned page. Changes were made to the audio features graphing
function so that the categories are displayed in ascending order (was
random before).
7 years ago
Kevin Mok
bd597cdc23
Use "several" API call to get artist genres
7 years ago
Kevin Mok
df9547293f
Changed all existing pages to use a dark bg
7 years ago
Kevin Mok
709ed9b491
Added most common genre for tracks with 1 artist
Still have to find shared genres for songs with multiple artists (see #34 ).
7 years ago
Kevin Mok
4e1a6df89e
Store genres in artists as m2m field ( #34 )
7 years ago
Kevin Mok
de93bd7b0a
Store counts for genres in Genre model
Have not assigned most common genre to Track models yet (currently
blank).
7 years ago
Chris Shyi
df36f07080
Made scale labels nicer for the audio feature graphs
7 years ago
Chris Shyi
e614b373df
Fix program crash when AudioFeatures is missing
Fixes #32 . AudioFeatures object query is now wrapped in a try/except
block to account for the scenario where the object doesn't exist.
7 years ago
Chris Shyi
0714586e07
Fix program crash when AudioFeatures is missing
Fixes #32 . AudioFeatures object query is now wrapped in a try/except
block to account for the scenario where the object doesn't exist.
7 years ago
Chris Shyi
be815086c0
Use secrets.py to generate user secret
Instead of using our own random string generator function, the user
secret is now being generated using secrets.token_urlsafe(). The max
length of the user secret has been increased to accommodate the size of
the 32 byte string.
7 years ago
Chris Shyi
a6260485ac
Updated function docstring
7 years ago
Chris Shyi
c2c41e82c1
Rewrite drawAudioFeatGraph()
Rewrote the data point categorization part of the function to avoid
using hard coded indices.
7 years ago
Chris Shyi
4926eb57e8
Make drawAudioFeatGraph() more generic
Redefined the API of drawAudioFeatGraph() to take in an array of real numbers defining the intervals in which the data points will be binned.
7 years ago
Chris Shyi
840152b99e
Add title to audio feature graphs
Audio feature bar graphs now have titles.
7 years ago
Chris Shyi
fcb894fcb9
Refactor audio feature graph code
Code for drawing audio feature graphs has been refactored into a
function.
7 years ago
Chris Shyi
bb97095398
Draw bar chart for instrumentalness
Instrumentalness bar chart for 15 songs has been drawn. The chart needs
to be beautified with colors and the axis labels could use some styling.
7 years ago
Chris Shyi
c518556126
Draw audio feature bar charts
Started work on drawing the bar charts for audio features.
7 years ago
Kevin Mok
9875cbeb68
Moved script to create genre graph to static file
- sorted artists in bar by most to least, bottom to top
- wrap x-axis labels by bar width
- increased track name length (program crashed on a track name)
7 years ago
Kevin Mok
f71ba20116
Fixed bars not being at right height
Avoided artist breakdown overflowing total tracks in genre by only
adding artists while running tally is less than total.
7 years ago
Kevin Mok
162b2dad37
Setup color range for bars
Included a script to generate attractive colors.
7 years ago
Kevin Mok
2342e6ef49
Initial setup of stacked bar chart for genres
Bunch of issues with it that still need to be fixed.
7 years ago
Kevin Mok
7b968c9d86
Include artist breakdown in get_genre_data
7 years ago
Kevin Mok
05b5cc404a
Trying to get correct artist breakdown in genres
Counts are off since there are multiple artists on a track.
7 years ago
Chris Shyi
4698663a85
Rewrite generate_random_string()
Rewrote generate_random_string() in a more Pythonic fashion.
7 years ago
Chris Shyi
3e35e52f45
Retrieve audio feature data from frontend
Added user_secret field to User. Set up a basic JavaScript function for
querying audio feature data from the frontend.
7 years ago
Chris Shyi
9d43048067
Clean up views.py and utils.py further
views.py and utils.py were cleaned up further to remove any obsolete usage of
library_stats.
7 years ago
Kevin Mok
ea5990d048
Fixed duplicate key error in save_track_obj
Can't create Track object without the artists/user so get_or_create
doesn't work properly.
7 years ago
Chris Shyi
ef7933fb67
Delete 0003_auto_20180608_2007.py
7 years ago
Chris Shyi
d995a15444
Delete 0002_auto_20180608_2002.py
7 years ago
Chris Shyi
53f78853d9
Delete 0001_initial.py
7 years ago
Chris Shyi
92d5d174e8
Modify maximum field length
Artist.genre and Track.name had maximum lengths that were not long enough, now increased.
7 years ago
Chris Shyi
fd7a031bf2
Fix incorrect usage of update()
update() is a QuerySet method. To update a single object, use save().
7 years ago
Chris Shyi
0e69d3d190
Removed test_db.js
7 years ago
Chris Shyi
90dbda4336
Removed UserAudioSummary class
7 years ago
Chris Shyi
797115e9cb
Clean up utils.py to use database
Uses of the original library_stats dictionary in utils.py were either removed or commented out, replaced by the saving of models into the database.
7 years ago
Kevin Mok
79aedc655d
Trying to pass artist data from db to frontend
7 years ago
Chris Shyi
b66cf1dd87
Delete all migrations and start anew
Deleted all migrations and started anew to incorporate changes in models.
7 years ago
Kevin Mok
62cc6c8ccd
Setup AudioFeatures table
7 years ago
Kevin Mok
cdcc33c014
Setup Track table, modified models to data
Recreated migrations from scratch to fix bug with initializing Track
objects.
7 years ago
Chris Shyi
27718743d7
Change artists field in Track
artists is now a ManyToManyField in Track, which is cleaner than
using a unique_together clause in the Meta class.
7 years ago
Chris Shyi
b735887899
Bug fixes
Server crashes as of the last commit, now fixed.
7 years ago
Kevin Mok
549af96db7
Setup Artist table
Removed printing of library_stats.
7 years ago
Chris Shyi
248e9b0ab6
Change database settings
Edited settings.py to use PostgreSQL. Made some minor changes
in views.py to incorporate the new models.
7 years ago
Kevin Mok
e07fd0965a
Added Vim folds to models.py and utils.py
7 years ago
Chris Shyi
e5151a1b92
Add user_data.js
Script will be used to obtain data from server for D3 consumption.
7 years ago
Chris Shyi
003c630dd4
Fix audio feature analysis missing bug
Added error checking for missing audio features in the Spotify database.
7 years ago