Commit Graph

73 Commits

Author SHA1 Message Date
bd597cdc23 Use "several" API call to get artist genres 2018-06-25 04:47:39 -04:00
df9547293f Changed all existing pages to use a dark bg 2018-06-25 04:20:55 -04:00
709ed9b491 Added most common genre for tracks with 1 artist
Still have to find shared genres for songs with multiple artists (see #34).
2018-06-25 03:18:26 -04:00
4e1a6df89e Store genres in artists as m2m field (#34) 2018-06-24 07:05:54 -04:00
de93bd7b0a Store counts for genres in Genre model
Have not assigned most common genre to Track models yet (currently
blank).
2018-06-24 02:30:19 -04:00
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.
2018-06-23 16:45:08 -04:00
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)
2018-06-14 07:49:27 -04:00
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.
2018-06-14 06:38:30 -04:00
162b2dad37 Setup color range for bars
Included a script to generate attractive colors.
2018-06-14 06:13:42 -04:00
2342e6ef49 Initial setup of stacked bar chart for genres
Bunch of issues with it that still need to be fixed.
2018-06-14 05:31:07 -04:00
7b968c9d86 Include artist breakdown in get_genre_data 2018-06-12 01:26:42 -04:00
98b14b9000 Add top genre to Track object
- merge from chris/audio_features branch
- fixed crashing when new artist doesn't have genre
- get genre/artist data using user secret
- removed punctuation from user secret
2018-06-11 18:51:28 -04:00
Chris Shyi
4698663a85 Rewrite generate_random_string()
Rewrote generate_random_string() in a more Pythonic fashion.
2018-06-10 09:21:35 -04:00
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.
2018-06-09 21:30:26 -04:00
Chris Shyi
3cf3eef7ac Merge branch 'in-progress' of https://github.com/chrisshyi/spotify-lib-vis into in-progress 2018-06-09 14:00:26 -04:00
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.
2018-06-09 13:58:52 -04:00
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.
2018-06-08 22:30:01 -04:00
Chris Shyi
ef7933fb67 Delete 0003_auto_20180608_2007.py 2018-06-08 20:59:42 -04:00
Chris Shyi
d995a15444 Delete 0002_auto_20180608_2002.py 2018-06-08 20:59:34 -04:00
Chris Shyi
53f78853d9 Delete 0001_initial.py 2018-06-08 20:59:27 -04:00
Chris Shyi
92d5d174e8 Modify maximum field length
Artist.genre and Track.name had maximum lengths that were not long enough, now increased.
2018-06-08 20:08:17 -04:00
Chris Shyi
fd7a031bf2 Fix incorrect usage of update()
update() is a QuerySet method. To update a single object, use save().
2018-06-08 19:58:44 -04:00
Chris Shyi
0e69d3d190 Removed test_db.js 2018-06-08 19:50:50 -04:00
Chris Shyi
90dbda4336 Removed UserAudioSummary class 2018-06-08 19:47:51 -04:00
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.
2018-06-08 18:45:16 -04:00
Chris Shyi
29ab115f91 Merge branch 'in-progress' of https://github.com/Kevin-Mok/spotify-lib-vis into in-progress 2018-06-07 22:15:11 -04:00
79aedc655d Trying to pass artist data from db to frontend 2018-06-07 21:48:38 -04:00
Chris Shyi
b66cf1dd87 Delete all migrations and start anew
Deleted all migrations and started anew to incorporate changes in models.
2018-06-06 20:56:40 -04:00
Chris Shyi
3ee6bb50a5 Merge branch 'database' of https://github.com/chrisshyi/spotify-lib-vis into database 2018-06-06 20:50:43 -04:00
Chris Shyi
77662a6a5e Merge branch 'database' of https://github.com/Kevin-Mok/spotify-lib-vis into database 2018-06-06 20:46:40 -04:00
62cc6c8ccd Setup AudioFeatures table 2018-06-06 05:36:00 -04:00
cdcc33c014 Setup Track table, modified models to data
Recreated migrations from scratch to fix bug with initializing Track
objects.
2018-06-06 03:46:09 -04:00
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.
2018-06-05 19:55:36 -04:00
Chris Shyi
b735887899 Bug fixes
Server crashes as of the last commit, now fixed.
2018-06-04 22:17:31 -04:00
549af96db7 Setup Artist table
Removed printing of library_stats.
2018-06-04 21:52:30 -04:00
c17d318f7d Merge branch 'master' of https://github.com/Kevin-Mok/spotify-lib-vis into database
Removed some lines that prevented program from running.
2018-06-04 21:20:35 -04:00
Chris Shyi
248e9b0ab6 Change database settings
Edited settings.py to use PostgreSQL. Made some minor changes
in views.py to incorporate the new models.
2018-06-04 17:31:54 -04:00
e07fd0965a Added Vim folds to models.py and utils.py 2018-06-04 17:21:18 -04:00
Chris Shyi
3fdf3029e2 Merge branch 'database' of https://github.com/Kevin-Mok/spotify-lib-vis 2018-06-04 09:41:43 -04:00
Chris Shyi
6380ba9c16 Merge branch 'master' of https://github.com/chrisshyi/spotify-lib-vis 2018-06-04 09:39:38 -04:00
Chris Shyi
e5151a1b92 Add user_data.js
Script will be used to obtain data from server for D3 consumption.
2018-06-04 09:38:38 -04:00
9fb37f0615 Wrote up proposed model design for database
Have not actually created any models yet.
2018-06-03 19:14:34 -04:00
Chris Shyi
0796e4190d Merge branch 'master' of https://github.com/chrisshyi/spotify-lib-vis 2018-06-03 16:55:36 -04:00
Chris Shyi
003c630dd4 Fix audio feature analysis missing bug
Added error checking for missing audio features in the Spotify database.
2018-06-03 16:54:39 -04:00
Chris Shyi
f52e88f83a Start implementing AJAX
Problem with cross origin requests, need to do more research.
2018-06-03 16:04:26 -04:00
Chris Shyi
a508337363 Fix import in tests.py
tests.py was importing update_std_dev() from views.py (where the function was prior to
the refactor), now fixed.
2018-06-02 23:14:47 -04:00
53b7bb5d41 Started on (flawed) database models 2018-05-26 04:39:35 -04:00
c831e5b9a8 Initial design for database
Before considering Django models.
2018-05-23 23:36:38 -04:00
Chris Shyi
e01331f951 Process library_stats
library_stats is now processed into a format that's more easily consumed
by D3. Need to finalize format for popularity data.
2018-05-22 21:22:24 -04:00
Chris Shyi
46df571855 Compute the average and std_dev for popularity
Modified the structure and code in utils.py so that library_stats now
has a record of the mean and standard deviation of popularity.
2018-05-22 20:25:29 -04:00