classification
Title: Typo/trivial mistake in warnings.py (may be related to 2.x to 3.x conversion)
Type: compile error Stage: resolved
Components: Argument Clinic Versions: Python 3.8, Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: larry, miss-islington, serhiy.storchaka, tashrifbillah, vstinner, xtreak
Priority: normal Keywords: patch

Created on 2018-11-06 15:07 by tashrifbillah, last changed 2019-03-01 17:49 by vstinner. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 10343 closed tashrifbillah, 2018-11-06 15:07
PR 12033 merged xtreak, 2019-02-25 18:01
PR 12130 merged miss-islington, 2019-03-01 17:18
Messages (7)
msg329363 - (view) Author: Tashrif Billah (tashrifbillah) * Date: 2018-11-06 15:07
```
2018-11-06 09:51:27,314 /home/tb571/Downloads/pnlpipe/pnlscripts/wmql.py DEBUG  Running ['/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/scripts/tract_math', '/home/tb571/Downloads/pnlpipe/_data/003_GNX_007/Ukf-003_GNX_007-761f2a551e.vtk', 'tract_remove_short_tracts', '2', '/tmp/tmpq2z9fmfc/ukfpruned.vtk']
Traceback (most recent call last):
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/scripts/tract_math", line 115, in main
    tractography, *args.operation_parameters)
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/tract_querier/tract_math/decorator.py", line 141, in wrapper
    process_output(out, file_output=file_output)
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/tract_querier/tract_math/decorator.py", line 176, in process_output
    tractography_to_file(file_output, output)
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/tract_querier/tractography/__init__.py", line 85, in tractography_to_file
    return tractography_to_vtk_file(filename, tractography, **kwargs)
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/tract_querier/tractography/vtkInterface.py", line 29, in tractography_to_vtk_file
    tractography.tracts_data()
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/tract_querier/tractography/vtkInterface.py", line 324, in write_vtkPolyData
    poly_data = tracts_to_vtkPolyData(tracts, tracts_data=tracts_data)
  File "/home/tb571/Downloads/pnlpipe/soft_dir/tract_querier-c57d670/tract_querier/tractography/vtkInterface.py", line 267, in tracts_to_vtkPolyData
    vtk_ids = ns.numpy_to_vtkIdTypeArray(ids, deep=True)
  File "/home/tb571/miniconda3/envs/pnlpipe3/lib/python3.6/site-packages/vtk/util/numpy_support.py", line 198, in numpy_to_vtkIdTypeArray
    return numpy_to_vtk(num_array, deep, vtk.VTK_ID_TYPE)
  File "/home/tb571/miniconda3/envs/pnlpipe3/lib/python3.6/site-packages/vtk/util/numpy_support.py", line 137, in numpy_to_vtk
    assert not numpy.issubdtype(z.dtype, complex), \
  File "/home/tb571/miniconda3/envs/pnlpipe3/lib/python3.6/site-packages/numpy/core/numerictypes.py", line 743, in issubdtype
    FutureWarning, stacklevel=2
  File "/home/tb571/miniconda3/envs/pnlpipe3/lib/python3.6/warnings.py", line 101, in _showwarnmsg
    _showwarnmsg_impl(msg)
  File "/home/tb571/miniconda3/envs/pnlpipe3/lib/python3.6/warnings.py", line 28, in _showwarnmsg_impl
    text = _formatwarnmsg(msg)
  File "/home/tb571/miniconda3/envs/pnlpipe3/lib/python3.6/warnings.py", line 116, in _formatwarnmsg
    msg.filename, msg.lineno, line= msg.line)
TypeError: custom_formatwarning() got an unexpected keyword argument 'line'
```
msg329364 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-11-06 15:22
This may be a consequence of issue26568.
msg329385 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-11-06 20:46
> Typo/trivial mistake in warnings.py (may be related to 2.x to 3.x conversion)

It's not a typo: it's that my change now requires the last argument of formatwarning() to be a keyword argument called 'line'.

The error comes from numpy.

But I'm fine to now require that the last formatwarning() argument is called 'line' and pass its value as an positional argument, not as a keyword argument.

In that case, I would like to see an unit test to check that replacing warnings.formatwarning() with a new function and the last parameter of this function is not called 'line' still works.
msg336537 - (view) Author: Karthikeyan Singaravelan (xtreak) * (Python triager) Date: 2019-02-25 16:11
@tashrifbillah I will be happy to add a test on a follow up PR attributing to the original PR as per https://github.com/python/cpython/pull/10343#issuecomment-467026474

Thanks
msg336934 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-03-01 17:17
New changeset be7c460fb50efe3b88a00281025d76acc62ad2fd by Victor Stinner (Xtreak) in branch 'master':
bpo-35178: Fix warnings._formatwarnmsg() (GH-12033)
https://github.com/python/cpython/commit/be7c460fb50efe3b88a00281025d76acc62ad2fd
msg336941 - (view) Author: miss-islington (miss-islington) Date: 2019-03-01 17:40
New changeset b94874f7e27cbc92e0aec8779ee98bcb16efb257 by Miss Islington (bot) in branch '3.7':
bpo-35178: Fix warnings._formatwarnmsg() (GH-12033)
https://github.com/python/cpython/commit/b94874f7e27cbc92e0aec8779ee98bcb16efb257
msg336942 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-03-01 17:49
Thanks Tashrif Billah and  Karthikeyan Singaravelan for the fix!

Sadly, Python 3.6 now only accept security fixes, and so this bug cannot be fixed in the 3.6 branch anymore.

The workaround is the rename the last parameter of your customer formatmsg function to 'line' ;-)
History
Date User Action Args
2019-03-01 17:49:20vstinnersetstatus: open -> closed
versions: + Python 3.7, Python 3.8, - Python 3.6
messages: + msg336942

resolution: fixed
stage: patch review -> resolved
2019-03-01 17:40:14miss-islingtonsetnosy: + miss-islington
messages: + msg336941
2019-03-01 17:18:51miss-islingtonsetpull_requests: + pull_request12133
2019-03-01 17:17:58vstinnersetmessages: + msg336934
2019-02-25 18:01:39xtreaksetkeywords: + patch
stage: patch review
pull_requests: + pull_request12063
2019-02-25 16:11:08xtreaksetnosy: + xtreak
messages: + msg336537
2018-11-06 20:46:40vstinnersetmessages: + msg329385
2018-11-06 15:22:23serhiy.storchakasetnosy: + vstinner, serhiy.storchaka
messages: + msg329364
2018-11-06 15:07:10tashrifbillahcreate