-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
42 lines (38 loc) · 2.29 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
current state:
add_tracks_to_lib not working becasue of a weird json response error. Not
worth worrying about?
Yes, not worth worrying about.
Next:
1. attempt to build a list of track objects from playlist, make sure that has
the same length as the storeIds list.
2. from a list of Track objects, create corresponding spotify playlist:
a. for each track object, do custom search & for now just add to PL if
there exists an exact match.
b. Log success & failure (num tracks succeeded, name of tracks that
didnt)
TODO: log success and failure explicitly, plus change interface of new_playlist
to include an interactive=True param, so user can optionally manually choose
from list of the search results. Aka if doesn't work the first time, retry
again with spotify_query2 (without the album this time, for example, or maybe
just without quotes) and then have the user select from 0-9/confirm from a
list of search options & make sure to add that track in the same spot in the
playlist somehow (using the 'position' parameter in spotipy.user_add_tracks, or
saving the list of ids_to_add until everything is finalized)
Future:
1. Have multiple Track object constructor options: one for each music
service API so can make a call like
'song = Track.Track(track_dict, service= gm)'
plus a generic one where can fill in parameters manually, e.g.
'song = Track.Track(title='Love is All', Artist="The Tallest Man on Earth,
ms=123456, Album='etc etc....)
for cleaner code. Also expands the Track object fields so that can create
algo to compare search results and put importance on one parameter or
another (e.g. Artist+Title > album > milliseconds > genre, etc).
2. For faster process, can catch exception 'gmusicapi.exceptions.InvalidDeviceId'
in gmusic.login_to_gmusic_with_oauth and get the first device id returned
from there (not that much faster bc have to store oauth creds for each account,
but it store separate oauth creds and access them each individually could
streamline the process).
3. Just make a bash script that take args for playlists as cmd line args or
lines of a file or smth and does all this instead of having to run a playlist
transfer script once for each playlist