[issue46607] Add DeprecationWarning to configparser's LegacyInterpolation

2022-04-05 Thread STINNER Victor


STINNER Victor  added the comment:

Thanks Hugo for the your contribution. I close the issue.

> Searching the top 5,000 PyPI sdists, there's very little (if any "real") use 
> of LegacyInterpolation. Details: https://bugs.python.org/issue45173#msg409685

You can offer them a PR to avoid the deprecated API, or at least notify them by 
creating an issue that this API is deprecated in Python 3.11.

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46607] Add DeprecationWarning to configparser's LegacyInterpolation

2022-04-05 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset 75280944e5ca957eec7f814b9d0608fc84fc5811 by Hugo van Kemenade in 
branch 'main':
bpo-46607: Add DeprecationWarning for LegacyInterpolation, deprecated in docs 
since 3.2 (GH-30927)
https://github.com/python/cpython/commit/75280944e5ca957eec7f814b9d0608fc84fc5811


--
nosy: +gregory.p.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46607] Add DeprecationWarning to configparser's LegacyInterpolation

2022-02-02 Thread Hugo van Kemenade


Hugo van Kemenade  added the comment:

> > Other configparser deprecations were added in 3.2, but with 
> > DeprecationWarnings.

> Its deprecation was never documented anywhere in Doc/.

Correct, only in the docstring:

```
class LegacyInterpolation(Interpolation):
"""Deprecated interpolation used in old versions of ConfigParser.
Use BasicInterpolation or ExtendedInterpolation instead."""
```

I've updated GH-30927 to say "deprecated in the docstring" instead of 
"deprecated in docs".

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46607] Add DeprecationWarning to configparser's LegacyInterpolation

2022-02-02 Thread STINNER Victor

STINNER Victor  added the comment:

Oh, LegacyInterpolation is not documented at:
https://docs.python.org/dev/library/configparser.html

> Other configparser deprecations were added in 3.2, but with 
> DeprecationWarnings.

Its deprecation was never documented anywhere in Doc/.

Well, to respect the PEP 387, the class should emit a DeprecationWarning and 
its depreaction must be documented in What's New in Python 3.11.


> The LegacyInterpolation class of configparser has been deprecated in docs 
> since 3.2, but without raising a DeprecationWarning.

I found the following change:
---
commit 7f64c8a5121576fd8f92010b7a936b89581c4051
Author: Łukasz Langa 
Date:   Thu Dec 16 01:16:22 2010 +

Broken ConfigParser removed, SafeConfigParser renamed to ConfigParser.
Life is beatiful once again.
---

It renamed BrokenInterpolation to LegacyInterpolation:

-class BrokenInterpolation(Interpolation):
-"""Deprecated interpolation as implemented in the classic ConfigParser.
+class LegacyInterpolation(Interpolation):
+"""Deprecated interpolation used in old versions of ConfigParser.


The BrokenInterpolation class was added  by bpo-10499:
---
commit b6a6f5f886ed869612e16cd1e29a1190996dc78d
Author: Łukasz Langa 
Date:   Fri Dec 3 16:28:00 2010 +

Issue 10499: Modular interpolation in configparser
---

It would be nice to have Łukasz's opinion on deprecating LegacyInterpolation.


The configparser.RawConfigParser has an "interpolation" parameter and 
configparser.RawConfigParser._DEFAULT_INTERPOLATION is an instance of 
configparser.Interpolation:
---
# Interpolation algorithm to be used if the user does not specify another   
 
_DEFAULT_INTERPOLATION = Interpolation()
   
---


If the BrokenInterpolation is removed in Python 3.13 and a project is affected 
by the removal, can it simply copy/paste the Python 3.12 copy in its project 
and continue using the class? configparser.Interpolation seems to be a clean 
ABC class, so it seems safe to copy/paste the code. It doesn't seem to depend 
on anything but configparser.Interpolation which is public (even if it's not 
documented).


https://bugs.python.org/issue45173#msg409685:
> Searching 4,764 sdists from the top 5,000 PyPI packages, these 13 contain 
> "LegacyInterpolation": (...)
> two are stdlib backports: (...)
> The others are all configparser.pyi typeshed stub files: (...)

I understand that *in practice*, removing the class would impact no project of 
the top 5000 PyPI projects. Thanks for checking!

--
nosy: +lukasz.langa, vstinner

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46607] Add DeprecationWarning to configparser's LegacyInterpolation

2022-02-01 Thread Hugo van Kemenade


Change by Hugo van Kemenade :


--
keywords: +patch
pull_requests: +29258
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/30927

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46607] Add DeprecationWarning to configparser's LegacyInterpolation

2022-02-01 Thread Hugo van Kemenade


New submission from Hugo van Kemenade :

The LegacyInterpolation class of configparser has been deprecated in docs since 
3.2, but without raising a DeprecationWarning.

The 3.2 HISTORY file says:

> - configparser: the SafeConfigParser class has been renamed to ConfigParser.
> The legacy ConfigParser class has been removed but its interpolation 
> mechanism is still available as LegacyInterpolation.

Searching the top 5,000 PyPI sdists, there's very little (if any "real") use of 
LegacyInterpolation. Details: https://bugs.python.org/issue45173#msg409685

Other configparser deprecations were added in 3.2, but with DeprecationWarnings.

Let's add a DeprecationWarning for a couple of releases before removal.

--
components: Library (Lib)
messages: 412339
nosy: hugovk
priority: normal
severity: normal
status: open
title: Add DeprecationWarning to configparser's LegacyInterpolation
versions: Python 3.11

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com