[Misc] Replace deprecated locale.getdefaultlocale() in diagnose.py #8598
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.
Brief Summary
This PR addresses a
DeprecationWarning
indiagnose.py
related to the use oflocale.getdefaultlocale()
, which is deprecated as of Python 3.15. The warning was as follows:Changes Made
locale.getdefaultlocale()
with a combination oflocale.setlocale(locale.LC_ALL, '')
,locale.getlocale()
, andlocale.getpreferredencoding()
to fetch locale and encoding information without triggering the deprecation warning.Rationale
This change future-proofs the code by using recommended functions (
getlocale()
andgetpreferredencoding()
), ensuring compatibility with Python 3.15 and beyond.Testing
DeprecationWarning
no longer appears when runningdiagnose.py
.