joalla / discogs_client

Continuation of the "Official Python Client for the Discogs API"
https://python3-discogs-client.readthedocs.io
Other
307 stars 50 forks source link

Missing documentation for Master.versions.filter #158

Open JOJ0 opened 1 week ago

JOJ0 commented 1 week ago

I would like to add the filter possibility for Master versions to our docs. See below how it's done already concisely described by @AnssiAhola, which came up in a recent Discussions post.

Now while I'm at it, I want to investigate if there are maybe more objects that make use of the filter from the BasePaginatedResponse class...

Original Post

It's pretty hard to figure it out from the source code, but Master.versions is actually a PaginatedList under the hood which inherits BasePaginatedResponse so it has the filter() method and should call that specific api when invoked.

Example

master = client.master(1051980)
result = master.versions.filter(format="CD")
for release in result:
    print(release)

The filter() method supports all the parameters described in the API docs and can be passed in as kwargs

result = master.versions.filter(
    master_id=123,
    page=1,
    per_page=10,
    format="Vinyl",
    label="Scorpio Music",
    released=1992,
    country="Belgium",
    sort="released",
    sort_order="asc"
)

Hope that helps, Cheers!

_Originally posted by @AnssiAhola in https://github.com/joalla/discogs_client/discussions/155#discussioncomment-10672974_

JOJ0 commented 1 week ago

While investigating I played around with a graphical view of modules. This is the Master class. It didn't really help my investigation but it was fun to look at đŸ˜†

discogs_client models Master

AnssiAhola commented 1 week ago

Now that would be neat for the docs page :sweat_smile: , but I'm guessing that is an separate tool that generated that graph?