Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

bpo-38741: Definition of multiple ']' in header configparser#17129

Merged
ambv merged 4 commits into
python:mainpython/cpython:mainfrom
jsnklln:configparser_handle_brace_in_headerjsnklln/cpython:configparser_handle_brace_in_headerCopy head branch name to clipboard
Jul 13, 2021
Merged

bpo-38741: Definition of multiple ']' in header configparser#17129
ambv merged 4 commits into
python:mainpython/cpython:mainfrom
jsnklln:configparser_handle_brace_in_headerjsnklln/cpython:configparser_handle_brace_in_headerCopy head branch name to clipboard

Conversation

@jsnklln

@jsnklln jsnklln commented Nov 12, 2019

Copy link
Copy Markdown
Contributor

I've changed up the regex for finding section headers.
I don't know if this covers every case but it covers
all the cases I could come up with. The docs don't really
call out if ] should be allowed in section headers but
I can't think of any reason it shouldn't be.

This change keeps the existing failure if you try and
define a section with no name, like [].

https://bugs.python.org/issue38741

I've changed up the regex for finding section headers.
I don't know if this covers every case but it covers
all the cases I could come up with.  The docs don't really
call out if ] should be allowed in section headers but
I can't think of any reason it shouldn't be.

This change keeps the existing failure if you try and
define a section with no name, like [].
@brandtbucher brandtbucher added the type-bug An unexpected behavior, bug, or error label Nov 12, 2019
@brandtbucher

Copy link
Copy Markdown
Member

Thanks @jsnklln!

@brandtbucher brandtbucher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The patch itself looks good, but I don't know enough about this module to decide if this behavior is technically correct or not. @ambv, thoughts?

Also, this probably needs a test or two. Can you include them in test_configparser.py?

@jsnklln

jsnklln commented Nov 12, 2019

Copy link
Copy Markdown
Contributor Author

@brandtbucher adding some tests sounds like fun. I'm totally open to opinions on how to best handle it.

@mark99i

mark99i commented Nov 13, 2019

Copy link
Copy Markdown

its is a my commit!
46751c6
or was it not customary to point to the source?

@jsnklln

jsnklln commented Nov 13, 2019

Copy link
Copy Markdown
Contributor Author

@mark99i I didn't realize we were working on the same bug. There's not a PR on the bug tracker and I'm pretty sure I pulled from changes master yesterday but I hay not have.

One note. Using .* allows [] to be considered valid where with the previous version it threw an exception. ConfigParser doesn't allow definitions without a section, I'm pretty sure that's still true, so I don't know where those would go if they were allowed.

Jason Killen added 2 commits November 13, 2019 11:19
read correctly.  Included a check for key=value because
the original issue mentioned that it might not be working.
@jsnklln

jsnklln commented Nov 13, 2019

Copy link
Copy Markdown
Contributor Author

@brandtbucher tests have been pushed.

@brandtbucher brandtbucher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jsnklln! I recommended that #17086 be closed in favor of this, since it contains tests and handles the empty case.

@jsnklln

jsnklln commented Nov 13, 2019

Copy link
Copy Markdown
Contributor Author

@brandtbucher thanks. @mark99i sorry we got our wires crossed up, I'll gladly split the credit.

@jsnklln

jsnklln commented Dec 4, 2019

Copy link
Copy Markdown
Contributor Author

@brandtbucher is this waiting on something to be merged? Not being pushy just want to make sure I've got all my t's dotted.

@brandtbucher brandtbucher requested a review from ambv February 21, 2020 04:21
@brandtbucher

Copy link
Copy Markdown
Member

Closing and reopening to trigger CI.

@brandtbucher

Copy link
Copy Markdown
Member

@ambv This patch is simple and looks fine to me. Do you mind clearing up whether or not it is correct to allow ] in header names? If so, it can probably be merged.

@ambv ambv merged commit 2924bb1 into python:main Jul 13, 2021
@ambv ambv added the needs backport to 3.10 only security fixes label Jul 13, 2021
@miss-islington

Copy link
Copy Markdown
Contributor

Thanks @jsnklln for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10.
🐍🍒⛏🤖

@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Jul 13, 2021
@bedevere-bot

Copy link
Copy Markdown

GH-27110 is a backport of this pull request to the 3.10 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 13, 2021
…H-17129)

Co-authored-by: Jason Killen <jason.killen@windsorcircle.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
(cherry picked from commit 2924bb1)

Co-authored-by: jsnklln <jsnklln@gmail.com>
@ambv

ambv commented Jul 13, 2021

Copy link
Copy Markdown
Contributor

Sorry for taking so long to look at this 🤦🏻‍♂️

ambv pushed a commit that referenced this pull request Jul 13, 2021
… (#27110)

Co-authored-by: Jason Killen <jason.killen@windsorcircle.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
(cherry picked from commit 2924bb1)

Co-authored-by: jsnklln <jsnklln@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type-bug An unexpected behavior, bug, or error

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.