mikez / spotify-folders

Get your Spotify folder hierarchy with playlists into JSON.
MIT License
58 stars 6 forks source link

Any interest in bringing to Windows? #6

Closed jacksongoode closed 2 years ago

jacksongoode commented 2 years ago

Or would you need some testers?

mikez commented 2 years ago

@jacksongoode I don't have a Window machine to test on, but happy to support you to extend it. I sent you an email. :)

mikez commented 2 years ago

@jacksongoode Just to check: Did the email arrive? :)

mikez commented 2 years ago

Closing due to inactivity. Feel free to open again.

sydoracle commented 2 years ago

As an FYI, I did a simple command line run and got the correct JSON.

python folders.py --cache C:\Users\USER\AppData\Local\Spotify\Storage

No fundamental problem in there as long as you point it at the right location. Much appreciated

mikez commented 2 years ago

@sydoracle Thanks for the helpful note! :) A question as a Windows not-knowing person: does this presume that one is using PowerShell, Cygwin, or some other environment? Currently the code uses grep and xargs which I thought only ran on UNIX-like systems.

sydoracle commented 2 years ago

Yes, got Cygwin (part of MobaXterm). The DOS equivalent to the grep / xargs would be the following findstr /SRM start-group c:\users\USER\appdata\local\spotify\storage*.file

Powershell equivalent would be dir c:\users\USER\appdata\local\spotify\storage -include "*.file" -recurse | Select-String -pattern "start-group" | Select-Object -ExpandProperty Path

I'll try to find time to see if I can work them in.

mikez commented 2 years ago

@sydoracle My Windows understanding has grown, thank you. :)

Thought: If you think tech-savvy Windows users use Cygwin (via MobaXterm or otherwise), then we could state that as a requirement. The code upgrade could be minimal then—just adding the windows cache path and a note in the README of how to install this on Windows.

KuSi833 commented 1 year ago

There seem to be plenty of different ways to get grep installed. I have it installed though MingGW, cygwin64 and git. Maybe best to simply list grep as a requirement and let the person decide? In that case I suppose best to have a Windows section under the installation topic and mention grep as a requirement there?

mikez commented 1 year ago

@KuSi833 Since I don't have Windows to test on, can you confirm that

python folders.py --cache C:\Users\USER\AppData\Local\Spotify\Storage

works as expected? If so, I can add a note to the README for now.

KuSi833 commented 1 year ago

I can't confirm for that specific cache location as my Spotify is installed under WindowsApps, but I can confirm the command works with a valid cache location supplied.

mikez commented 1 year ago

@KuSi833 Thanks for checking. :) To clarify, is it common to use WindowsApps? I first considered hard-coding the C:\Users\USER\AppData\Local\Spotify\Storage path, however maybe this won't cover 99% of use cases.

KuSi833 commented 1 year ago

Well I suppose it doesn't hurt to make it try finding the cache in a few common places and then to raise an error if none of them worked. The folder my Spotify is in was created by the OS I suppose when I installed it from the app store, however it also has a long number in the folder name so I don't think it makes sense coding it. Probably best to explain the user how to point to the cache, or maybe even add a config file so it doesn't need to be added every time?

mikez commented 1 year ago

@KuSi833 @sydoracle @jacksongoode I added a Wiki page here with Windows instructions. If you think it looks correct, we can link it from the README.

mikez commented 1 year ago

Note: Thanks to @Nitemice, there is now Windows support. 🎉