RoxasShadow / rustfm

A Rust interface for Last.fm APIs.
2 stars 2 forks source link

Implement support for multiple Last.fm compatible API endpoints. #2

Open shymega opened 7 years ago

shymega commented 7 years ago

Currently, I am working on librefm-rs, but then I found this crate, and I think it would be better to rework this crate to support multiple API endpoints that support the Last.fm API. This would be similar to pylast, another Last.fm API library.

Issue #1 would be good to link this together with.

What do you think? Is this worth pursuing? I'm more than happy to work on this as well, but I am constrained by college work as well, so I'd have to balance this.

RoxasShadow commented 7 years ago

Hi @shymega, sorry for the late reply 😞

I think that carrying forward #1 is worth in order to provide a proper Lastfm crate to the community. Unfortunately, in this period (till the next 5 months actually) I'm very busy and I don't feel to restart contributing to this repository right now. Feel free to do so in your spare time though!

shymega commented 7 years ago

@RoxasShadow Haha, I know the feeling with being busy. I can have a little hack on it, sure 😺

I've got several assignments to go through first, however. They take higher priority.

Were you thinking of a complete rewrite using best practices for #1, or just a bit of a shuffle around?

RoxasShadow commented 7 years ago

The current master branch should be a decent foundation to proceed further.

Currently we have only a User which has RecentTracks.

The first thing to do is being sure that everything still work fine. Then we need to complete RecentTracks adding the fields that could be missing and then going ahead with the others resources belonging to User.

shymega commented 7 years ago

Cool. IIRC, libre.fm has pretty much the same API, but by default it responds in XML. Should prob add a option to build_url that instructs rustfm to use JSON instead, if we just want to stick to JSON.

(Also, as an alert- you have API keys in the repo..)

RoxasShadow commented 7 years ago

you have API keys in the repo

iirc they are read only or more probably stolen from the internet

shymega commented 7 years ago

Right, I see. Thanks for the heads-up, but can I suggest we move the API key to a env var for testing, so if it IS stolen from the internet, it cannot be exploited?

RoxasShadow commented 7 years ago

Absolutely.

shymega commented 7 years ago

For the public record, the API key is now stored in a env var.

This was fixed in ddb21c6cf02431921a56f3d4ab8180bd8edc088f