New submission from Antony Lee:

Currently, distutils.Command is a "hand-written" ABC; i.e. direct instantiaion 
or calling the "abstract" methods initialize_options, run and finalize_options 
raises a RuntimeError saying that the method (not named in the error message, 
which is thus a little bit cryptic) must be overriden.

In particular, this makes it impossible to use super() when overriding these 
methods (while Command.{initialize_options,run,finalize_options} have empty 
implementations, using super() is a fairly normal approach when inheriting, and 
needed in the case of multiple inheritance).

Switching to an ABC-based design would solve this issue.

----------
components: Distutils
messages: 249415
nosy: Antony.Lee, dstufft, eric.araujo
priority: normal
severity: normal
status: open
title: Make distutils.Command an ABC
versions: Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24970>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to