pycmc
pycmc copied to clipboard
[Feature]: Query Builder, Query, and Query Exception Classes
Is your feature request related to a problem? Please describe. Each endpoint uses a chain of functions, which, after months of scrappy use and rapid prototyping, throw some side effects and occasionally spit errors.
This is sub-optimal in production environments, as consistency and reasonable error propagation are necessities.
Describe the solution you'd like I'd like to see a class for each query request with proper error encapsulation. This will likely need a query exceptions class, in tandem.
Objectives:
- [ ] Every API call is self-contained
- [ ] Every API call is identical, other than query and updated header authorization, if necessary
- [ ] Every query is built by exactly the same process
- [ ] Every client function (e.g.
artist.charts
) instantiates aQuery
via the constructor params, which create aQueryBuilder
and call the API
Describe alternatives you've considered The semi-"functional" approach we take now is frustrating to use.