{"id":1032,"date":"2022-12-02T11:42:11","date_gmt":"2022-12-02T11:42:11","guid":{"rendered":"https:\/\/thomas.w-p.me.uk\/blog\/?p=1032"},"modified":"2022-12-02T11:42:11","modified_gmt":"2022-12-02T11:42:11","slug":"spotipy-squeezeserver","status":"publish","type":"post","link":"https:\/\/thomas.w-p.me.uk\/blog\/2022\/12\/spotipy-squeezeserver\/","title":{"rendered":"Spotipy &#8211; Squeezeserver"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We have an old squeezeserver but hardly use it. Nostalgic for the music, I set myself the task of programatically making a Spotify playlist of all the tracks. Slow progress but I do progress:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Find the squeezeserer sqllite database and export it using Firefox plugin SQLite manage;. I exported csv and cleaned it up in Excel. I can export that as a csv once I nail the rest of it.<\/li>\n\n\n\n<li><a href=\"https:\/\/spotipy.readthedocs.io\/en\/2.21.0\/\">Install Spotipy<\/a>. Follow all the instructions about making an account with the developer side of Spotify.<\/li>\n\n\n\n<li>Try to get the Spotipy example for playlists working. FAIL (authentication).<\/li>\n\n\n\n<li>Try to get WSL Debian to launch a brower so you can authenticate. FAIL.<\/li>\n\n\n\n<li>Try to get Powershell to launch the same. Success! but later fail.<\/li>\n\n\n\n<li>Try to set environment variables in Powershell. FAIL<\/li>\n\n\n\n<li>Tear hair out.<\/li>\n\n\n\n<li><a href=\"https:\/\/thomas.w-p.me.uk\/blog\/2022\/12\/spotify-api\/\" data-type=\"post\" data-id=\"1035\">Realise you can hard code the variables in&#8230;<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>We have an old squeezeserver but hardly use it. Nostalgic for the music, I set myself the task of programatically making a Spotify playlist of all the tracks. Slow progress but I do progress:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,105],"tags":[],"class_list":["post-1032","post","type-post","status-publish","format-standard","hentry","category-geekiness","category-python"],"_links":{"self":[{"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/posts\/1032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/comments?post=1032"}],"version-history":[{"count":2,"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/posts\/1032\/revisions"}],"predecessor-version":[{"id":1043,"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/posts\/1032\/revisions\/1043"}],"wp:attachment":[{"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/media?parent=1032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/categories?post=1032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thomas.w-p.me.uk\/blog\/wp-json\/wp\/v2\/tags?post=1032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}