Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 for the idea
Please don't use
+=and use a self-explaining local variable name: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.
My first impulse was to add a similar comment. But actually this doesn't matter. All lists here are small I hope, so copying lists doesn't add much overhead. On other hand, the variant with
extend()and generator expression add their own overheads.list.extend()is special cased for tuples and list. It is slower with general iterators.PEM_FOOTER + '\n'is faster than[PEM_FOOTER, ''].Hence the current code looks good enough to me. It is enough fast and looks enough Pythonic. If there are opportunities to enhance it, it is not worth the spent time.
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'm sorry about variable name. I didn't care about name for very short scope variables.
In case of performance, as serhiy said, cert size won't be arbitrary large.
And old code used temporal string for body part. This commit didn't make anythong worse.