-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
bpo-29863: Add json.COMPACT constant #72
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
Conversation
Hello, and thanks for your contribution! I'm a bot set up to make sure that the project can legally accept your contribution by verifying you have signed the PSF contributor agreement (CLA). Unfortunately our records indicate you have not signed the CLA. For legal reasons we need you to sign this before we can look at your contribution. Please follow these steps to rectify the issue:
Thanks again to your contribution and we look forward to looking at it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR. The new json.COMPACT
constant needs to be documented in Doc/library/json.rst
(and please add a .. versionadded:: 3.7
marker)
@berkerpeksag thanks! just added documentation for |
Doc/library/json.rst
Outdated
@@ -175,6 +175,8 @@ Basic Usage | |||
.. versionchanged:: 3.4 | |||
Use ``(',', ': ')`` as default if *indent* is not ``None``. | |||
|
|||
.. versionadded:: 3.7 Instead of ``(',', ':')`` constant ``json.COMPACT`` could be used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"could be used" -> "can be used"
Doc/library/json.rst
Outdated
|
||
.. data:: compact | ||
|
||
Constant that could be used as *separators* argument value |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A constant that can be used as the *separators* argument to emit a compact serialization
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to Brett's suggestion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update the "Compact encoding" example at the top of the page.
Doc/library/json.rst
Outdated
@@ -175,6 +175,8 @@ Basic Usage | |||
.. versionchanged:: 3.4 | |||
Use ``(',', ': ')`` as default if *indent* is not ``None``. | |||
|
|||
.. versionadded:: 3.7 Instead of ``(',', ':')`` constant ``json.COMPACT`` could be used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, following the style used in Doc/library/json.rst
would be better:
.. versionadded:: 3.7
Instead of ``(',', ':')`` constant ``json.COMPACT`` could be used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
versionchanged
would be more appropriate here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
``json.COMPACT`` -> :data:`json.COMPACT`
Doc/library/json.rst
Outdated
|
||
.. data:: compact | ||
|
||
Constant that could be used as *separators* argument value |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to Brett's suggestion.
@berkerpeksag @brettcannon thanks! I've just updated PR according to changes you requested. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please also update JSONEncoder
documentation at https://docs.python.org/3/library/json.html#json.JSONEncoder and add a test that passes separators=json.COMPACT
to JSONEncoder
. Sorry, I missed this in my earlier review.
Doc/library/json.rst
Outdated
Constants | ||
^^^^^^^^^ | ||
|
||
.. data:: compact |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
compact -> COMPACT
Doc/library/json.rst
Outdated
|
||
.. data:: compact | ||
|
||
A constant that can be used as the *separators* argument to emit a compact serialization. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please wrap lines at 80 chars.
thanks @berkerpeksag ! I've just added changes corresponding to |
Codecov Report
@@ Coverage Diff @@
## master #72 +/- ##
==========================================
+ Coverage 82.38% 82.38% +<.01%
==========================================
Files 1428 1428
Lines 351138 351147 +9
==========================================
+ Hits 289282 289294 +12
+ Misses 61856 61853 -3 Continue to review full report at Codecov.
|
Doc/library/json.rst
Outdated
@@ -453,6 +467,9 @@ Encoders and Decoders | |||
.. versionchanged:: 3.4 | |||
Use ``(',', ': ')`` as default if *indent* is not ``None``. | |||
|
|||
.. versionchanged:: 3.7 | |||
Instead of ``(',', ':')`` constant :data:`json.COMPACT` can be used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think a versionchanged
field is necessary as nothing about the function actually changed. I think it would be better to update the paragraph above from "To get the most compact JSON representation,
you should specify (',', ':')
to eliminate whitespace." to "To get the most compact JSON representation,
you should specify :attr:json.COMPACT
to eliminate whitespace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brettcannon sounds reasonable! I've just updated it, thanks!
@berkerpeksag @brettcannon any conclusion on this? :) |
@andrewnester I've been waiting for the discussion of https://bugs.python.org/issue29540 to settle down and be resolved before commenting further. |
@brettcannon looks like discussion stopped here https://bugs.python.org/issue29540 .. |
@andrewnester I just pinged the issue to explicitly see what people think about your attribute proposal. |
I opened bpo-29863 to finalize the discussion of the constant since I think it got lost on the older issue that proposed a new |
@brettcannon thanks! is there any link to discussion or some mailing list? |
@andrewnester I just wanted to say sorry for the delay on making a decision for this. As I'm sure you have noticed on the issue it's basically split down the middle as to whether this PR should be accepted or not and so no one has made the final call. |
Closing this since I just closed the issue. |
…sole Refactor termios stuff in unix console
…n#72) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Fix for https://bugs.python.org/issue29540
I decided to go with Alternative version provided R.David Murray just to keep things simple