classification
Title: Derby #7: Convert 51 sites to Argument Clinic across 3 files -> Derby: Convert the ElementTree module to use Argument Clinic
Type: enhancement Stage: needs patch
Components: Argument Clinic, Extension Modules, XML Versions: Python 3.5
process
Status: open Resolution:
Dependencies: 20141 20157 Superseder:
Assigned To: eli.bendersky Nosy List: eli.bendersky, larry, python-dev, scoder
Priority: normal Keywords: patch

Created on 2014-01-07 09:29 by serhiy.storchaka, last changed 2015-05-04 12:52 by serhiy.storchaka.

Files
File name Uploaded Description Edit
etree_clinic.patch serhiy.storchaka, 2014-01-18 11:51 review
etree_clinic_2.patch serhiy.storchaka, 2015-04-05 09:53 review
etree_clinic_3.patch serhiy.storchaka, 2015-05-04 07:05 review
Messages (13)
msg207518 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-01-07 09:29
Here is a patch which converts xml.etree.ElementTree accelerator module to use Argument Clinic. 34 methods are converted. Not converted __init__ methods (is Argument Clinic support it?) and the SubElement function which seems can't be converted.
msg207597 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-07 20:56
Can you refresh the patch?  The comments Argument Clinic uses were all changed.  I'll review when you have a fresh patch.  And I'll look at __init__ and subelement then.
msg207624 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-07 23:52
(Converting this issue into Derby entry #7.  Serhiy has stated that
he is abandoning his ElementTree patch; it may make a good starting point for you if you take over this issue.)

This issue is part of the Great Argument Clinic Conversion Derby,
where we're trying to convert as much of Python 3.4 to use
Argument Clinic as we can before Release Candidate 1 on January 19.

This issue asks you to change the following bundle of files:
    Modules/_elementtree.c: 31 sites
    PC/_msi.c: 15 sites
    PC/bdist_wininst/install.c: 5 sites

Talk to me (larry) if you only want to attack part of a bundle.

For instructions on how to convert a function to work with Argument
Clinic, read the "howto":
    http://docs.python.org/dev/howto/clinic.html
msg207630 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-01-08 00:00
Here is refreshed patch.
msg207631 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-01-08 00:06
Oh, what's the strange idea to group unrelated modules together?
msg207632 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-08 00:10
As I discussed with you on IRC, the problem is, we have 129 files with sites that need examining.  I was advised that creating 129 issues on the tracker was a bad idea.  So I had to combine them together somehow.  I wrote a Python script to group them into bundles of approximately 50 sites, and it work largely at random.

I did ask you several times for feedback on the bundles, as you had expressed some interest in how the bundles were aggregated, but you did not respond.
msg207633 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-08 00:13
Since you have abandoned your patch, please stop changing the issue title on me.
msg207638 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-01-08 00:17
This is ridiculous.
msg240106 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-04-05 09:53
Updated patch. Converted __init__ methods and removed explicit declarations of self parameters. SubElement and Element.__init__ still are not converted, as they need the support of **kwargs.
msg242545 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-05-04 07:05
Made compatible with Windows compiler (I hope).
msg242546 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2015-05-04 07:17
LGTM
msg242552 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-05-04 12:33
New changeset fea94f9cb5a0 by Serhiy Storchaka in branch 'default':
Issue #20159. Converted the _elementtree module to Argument Clinic.
https://hg.python.org/cpython/rev/fea94f9cb5a0
msg242554 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-05-04 12:51
Original issue is resolved and I have no any relations to modules added by Larry.
History
Date User Action Args
2015-05-04 12:52:21serhiy.storchakasetnosy: - serhiy.storchaka
2015-05-04 12:51:40serhiy.storchakasetnosy: scoder, larry, eli.bendersky, python-dev, serhiy.storchaka
dependencies: - Add docstrings for ElementTree module
messages: + msg242554
stage: patch review -> needs patch
2015-05-04 12:33:29python-devsetnosy: + python-dev
messages: + msg242552
2015-05-04 07:17:35larrysetmessages: + msg242546
2015-05-04 07:05:27serhiy.storchakasetfiles: + etree_clinic_3.patch

messages: + msg242545
2015-04-05 09:53:32serhiy.storchakasetfiles: + etree_clinic_2.patch

messages: + msg240106
2015-02-25 15:24:55serhiy.storchakasetcomponents: + Argument Clinic
2014-01-18 11:51:18serhiy.storchakasetfiles: + etree_clinic.patch
2014-01-18 11:49:42serhiy.storchakasetfiles: - etree_clinic.patch
2014-01-18 11:49:34serhiy.storchakasetfiles: - etree_clinic.patch
2014-01-09 09:34:36serhiy.storchakasetassignee: eli.bendersky
dependencies: + Add docstrings for ElementTree module
stage: needs patch -> patch review
2014-01-08 01:36:37r.david.murraylinkissue20187 dependencies
2014-01-08 00:17:25serhiy.storchakasetmessages: + msg207638
2014-01-08 00:13:16larrysetmessages: + msg207633
title: Derby: Convert the ElementTree module to use Argument Clinic -> Derby #7: Convert 51 sites to Argument Clinic across 3 files -> Derby: Convert the ElementTree module to use Argument Clinic
2014-01-08 00:10:39larrysetmessages: + msg207632
2014-01-08 00:06:00serhiy.storchakasetmessages: + msg207631
2014-01-08 00:04:27serhiy.storchakasetversions: + Python 3.5, - Python 3.4
2014-01-08 00:00:46serhiy.storchakasetfiles: + etree_clinic.patch

messages: + msg207630
title: Derby #7: Convert 51 sites to Argument Clinic across 3 files -> Derby: Convert the ElementTree module to use Argument Clinic
2014-01-07 23:52:09larrysettitle: Derby: Convert the ElementTree module to use Argument Clinic -> Derby #7: Convert 51 sites to Argument Clinic across 3 files
messages: + msg207624
stage: patch review -> needs patch
2014-01-07 20:56:04larrysetmessages: + msg207597
title: Convert the ElementTree module to use Argument Clinic -> Derby: Convert the ElementTree module to use Argument Clinic
2014-01-07 09:29:52serhiy.storchakasetdependencies: + Argument Clinic: broken support for 'O!', Argument Clinic generates wrong keyword parameter name for "default"
2014-01-07 09:29:26serhiy.storchakacreate