Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add optional flag use ordinary dict #548

Merged
merged 9 commits into from May 24, 2022
Merged

Add optional flag use ordinary dict #548

merged 9 commits into from May 24, 2022

Conversation

sohithkumar
Copy link
Contributor

@sohithkumar sohithkumar commented May 20, 2022

closes: #477
Issue: Flag for using an ordinary dict in the API response #477 raised by @brno32
Situation: json output is being decoded as OrderedDict with no option to override it. Users who need to use dict need an option to change the json output to use dict.
Solution: create a option object_pairs_hook parameter whose default value is OrderedDict. Users can change it to use dict or keep it None since the by default json result will use dict if object_pairs_hook is None.
@jon-wobken

@brno32
Copy link
Contributor

brno32 commented May 20, 2022

I want it!

@jon-wobken jon-wobken changed the base branch from master to release/v1.12.0 May 23, 2022 17:55
@jon-wobken
Copy link
Collaborator

Stepped away from this project a bit will work on getting this reviewed and merged into the release branch (v1.12)

@jon-wobken jon-wobken self-assigned this May 23, 2022
fix result = client.query to match response mock in test_query_parse_to_json_to_Dict and test_query_parse_to_json_to_OrderedDict
update test names to fix pylint invalid-name
fix trailing whitespace
@jon-wobken jon-wobken merged commit e404248 into simple-salesforce:release/v1.12.0 May 24, 2022
@sohithkumar sohithkumar deleted the add_optional_flag_use_ordinary_dict branch May 26, 2022 03:37
jon-wobken added a commit that referenced this pull request Jul 13, 2022
* Remove support for python 3.5

Remove support for python 3.5

* Remove support for python 3.5

Remove support for python 3.5

* Update __version__.py

update version to v1.12.0

* Implement wait param in non-query bulk operations (#545)

* Implement wait param in non-query bulk operations

Add the wait parameter to workers spawned from _bulk_operation for
non-query calls (it already exists for query calls).

* Mimic formatting

Co-authored-by: David Arcuri <david.arcuri@consultch.com>

* Add optional flag use ordinary dict (#548)

* add object_pairs_hook option

* add object_pairs_hook to SFType

* set attribute _object_pairs_hook

* modify param desc to pass line limit pylint

* added tests

* updated corrected tests

* Update test_api.py

fix result = client.query to match response mock in test_query_parse_to_json_to_Dict and test_query_parse_to_json_to_OrderedDict

* Update test_api.py

update test names to fix pylint invalid-name

* fix trailing whitespace

fix trailing whitespace

Co-authored-by: JonWobken <49450080+jon-wobken@users.noreply.github.com>

* create dynamic sized batches to respect bulk api limits (#546)

* add autosize feature

* add docstring

* add support for char_limit

Co-authored-by: Hal Ali <hal.ali@agilebits.com>

* Feature/release/v1.12.0/refresh session (#555)

* FEAT: refresh sessions automatically (#507)

* add support for refreshing sessions automatically

* recalculate headers with new session_id

* fix tests

* extend support to SFType objects as well

* reach into Salesforce from SFType to refresh session

* fix session_id getter

* rearrange arguments when creating SFType

* Update CHANGES

* Added upload_base64, update_base64, get_base64 functionality (#485)

Co-authored-by: Adam <adamm@ownbackup.com>

* Added support for all metadata api operations (#475)

* Added support for all metadata api operations

* Update metadata.py to support bulk api like syntax

* Update metadata.py

* Update metadata.py

* Fixed docstrings

* Update metadata.py

Changed new() method to __call__ for easier syntax when creating new objects. Added flag to  zeep settings so that out of order complex types are parsed successfully in read response

* Update metadata.py

* Added documentation for metadata API operations

* Update MANIFEST.in

* Update metadata.py

* Update api.py

* Update metadata.py

* Update metadata.py

* Update metadata.py

* Update metadata.py

* Moved sandbox from class variable to method parameter

* Update api.py

Co-authored-by: pdahiya <pdahiya@commvault.com>

* Issue #517 Fixing hanging batch results in worker. (#518)

* Issue #517 Fixing hanging batch results in worker.

* Issue #517 Found another use of Not Processed and changed to NotProcessed.

Co-authored-by: Martin Gardner (Slalom) <martin.gardner@slalom.com>

* Update default api version to Winter 22 (#515)

Co-authored-by: JonWobken <49450080+jon-wobken@users.noreply.github.com>

* update link for sfdc jwt (#512)

* Add parse_float function to allow parsing floats to decimal.Decimal (#495)

* Add parse_float function to allow parsing floats to decimal.Decimal

* Refactor json parsing into separate functions

* Fix linting

* Add parse_float test to SFType tests

* Fix linting in test

* Check types in test for SFType

Co-authored-by: JonWobken <49450080+jon-wobken@users.noreply.github.com>

* Update __version__.py

* Update CHANGES

* Update .pylintrc

* Update metadata.py

fix pylint line too long

* Update api.py

fix pylint line too long

* Update .travis.yml

fix travis-ci cryptography build error

* Update api.py

fix formatting error in update_base64

* Update metadata.py

* Update api.py

* Update .travis.yml

fix travis-ci cryptography build

* Add kwargs to query_more call in query_all_iter (#524)

* Update .travis.yml

fix travis-ci cryography compile

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update setup.py

fix travis-ci pyp3 build error with crytography

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

remove pypy3 failing due to cartography build

* Update api.py

fix pylint trailing whitespaces/line too long

* Update api.py

fix pylint errors (white space, line too long, too many lines)

* Update api.py

* Update api.py

fix pylint errors

* Update api.py

Ignore protected class

* Update test_api.py

pylint disable W0212

Co-authored-by: JonWobken <49450080+jon-wobken@users.noreply.github.com>
Co-authored-by: Adam Mahameed <23741427+adam-mah@users.noreply.github.com>
Co-authored-by: Adam <adamm@ownbackup.com>
Co-authored-by: Pranav Dahiya <31065394+pranav-dahiya@users.noreply.github.com>
Co-authored-by: pdahiya <pdahiya@commvault.com>
Co-authored-by: magardner <magardner@users.noreply.github.com>
Co-authored-by: Martin Gardner (Slalom) <martin.gardner@slalom.com>
Co-authored-by: Uli Stärk <github@uli-staerk.de>
Co-authored-by: Matthew Nataloni <27374786+men6288@users.noreply.github.com>
Co-authored-by: Timo <6358247+timotk@users.noreply.github.com>
Co-authored-by: will-hall <77327489+will-hall@users.noreply.github.com>

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update api.py

* Update .pylintrc

Co-authored-by: Noah Cardoza <noahcardoza@gmail.com>
Co-authored-by: Adam Mahameed <23741427+adam-mah@users.noreply.github.com>
Co-authored-by: Adam <adamm@ownbackup.com>
Co-authored-by: Pranav Dahiya <31065394+pranav-dahiya@users.noreply.github.com>
Co-authored-by: pdahiya <pdahiya@commvault.com>
Co-authored-by: magardner <magardner@users.noreply.github.com>
Co-authored-by: Martin Gardner (Slalom) <martin.gardner@slalom.com>
Co-authored-by: Uli Stärk <github@uli-staerk.de>
Co-authored-by: Matthew Nataloni <27374786+men6288@users.noreply.github.com>
Co-authored-by: Timo <6358247+timotk@users.noreply.github.com>
Co-authored-by: will-hall <77327489+will-hall@users.noreply.github.com>

* Support OAuth2 endpoint APIs (#550)

OAuth Endpoints (https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_endpoints.htm&type=5)

Co-authored-by: JonWobken <49450080+jon-wobken@users.noreply.github.com>

* Update CHANGES

Co-authored-by: David A <45184827+Haeilifax@users.noreply.github.com>
Co-authored-by: David Arcuri <david.arcuri@consultch.com>
Co-authored-by: sohith <77746813+sohithkumar@users.noreply.github.com>
Co-authored-by: Hal Ali <haleemur@users.noreply.github.com>
Co-authored-by: Hal Ali <hal.ali@agilebits.com>
Co-authored-by: Noah Cardoza <noahcardoza@gmail.com>
Co-authored-by: Adam Mahameed <23741427+adam-mah@users.noreply.github.com>
Co-authored-by: Adam <adamm@ownbackup.com>
Co-authored-by: Pranav Dahiya <31065394+pranav-dahiya@users.noreply.github.com>
Co-authored-by: pdahiya <pdahiya@commvault.com>
Co-authored-by: magardner <magardner@users.noreply.github.com>
Co-authored-by: Martin Gardner (Slalom) <martin.gardner@slalom.com>
Co-authored-by: Uli Stärk <github@uli-staerk.de>
Co-authored-by: Matthew Nataloni <27374786+men6288@users.noreply.github.com>
Co-authored-by: Timo <6358247+timotk@users.noreply.github.com>
Co-authored-by: will-hall <77327489+will-hall@users.noreply.github.com>
Co-authored-by: Hiroki Kajiwara <hkajiwara@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Flag for using an ordinary dict in the API response
3 participants