pycmc icon indicating copy to clipboard operation
pycmc copied to clipboard

[Feature]: Query Builder, Query, and Query Exception Classes

Open thinkjrs opened this issue 3 years ago • 0 comments

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 a Query via the constructor params, which create a QueryBuilder and call the API

Describe alternatives you've considered The semi-"functional" approach we take now is frustrating to use.

thinkjrs avatar Dec 04 '20 05:12 thinkjrs