Cleaning up my local branches, I found some useful changes and cherry-picked them into this new branch before deleting the old branches. I also revisited this pull request to address #38.
In this round of changes I hope also to include some documentation updates for covering the basics of maintenance/release.
Summary of changes
* Added new error class :class:`PDHTTPError` for strictly application-level errors (i.e. HTTP responses vs. network errors), inherits from :class:`PDClientError`
* Removed unnecessary dependencies that were hold-outs from Python 2.7 compatibility (deprecated)
* Automatically add square brackets to query parameters that are of list type if the user forgets to do so, per the requirement of using `set filters <https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTU2-filtering#set-filters>`
* Fix bug: the :attr:`PDSession.stagger_cooldown` feature added in version 3.2 only applied to network error/retry; it now applies to all forms of retrial
* Add "update" keyword argument to :attr:`APISession.persist` which changes its behavior to update any existing resource with the provided values in addition to returning the resource as a dictionary object
One that I accidentally purged from existence (and rewrote here) is adding a new parameter to APISession.persist that tells the method to update the object if it already exists.
TODO
[x] Modify params automatically to add square brackets
[x] Test case for new normalize_params behavior
[x] APISession.persist unit test case for update option
[x] Find some way to get the Changelog back into the TOC (doc)
[x] ~Limit the nesting depth of the ToC in the documentation because it's getting ridiculous over in the navigation panel~
Context
Cleaning up my local branches, I found some useful changes and cherry-picked them into this new branch before deleting the old branches. I also revisited this pull request to address #38.
In this round of changes I hope also to include some documentation updates for covering the basics of maintenance/release.
Summary of changes
One that I accidentally purged from existence (and rewrote here) is adding a new parameter to
APISession.persist
that tells the method to update the object if it already exists.TODO
normalize_params
behavior