[
https://issues.apache.org/jira/browse/BEAM-6988?focusedWorklogId=243767&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-243767
]
ASF GitHub Bot logged work on BEAM-6988:
----------------------------------------
Author: ASF GitHub Bot
Created on: 17/May/19 01:04
Start Date: 17/May/19 01:04
Worklog Time Spent: 10m
Work Description: udim commented on pull request #8590: [BEAM-6988]
Implement a Python 3 version of getcallargs_forhints
URL: https://github.com/apache/beam/pull/8590#discussion_r284926095
##########
File path: sdks/python/apache_beam/typehints/decorators.py
##########
@@ -269,6 +272,14 @@ def getcallargs_forhints(func, *typeargs, **typekwargs):
for (arg, hint) in zip(argspec.args, typeargs)]
packed_typeargs += list(typeargs[len(packed_typeargs):])
+ if sys.version_info.major < 3:
+ return getcallargs_forhints_impl_py2(func, argspec, packed_typeargs,
Review comment:
Re: checking version within the code, I don't believe we have a guideline.
Use your judgement. In this case, I would check if this could hurt performance.
I've merged py2 and py3 union matching into one function and added
3.5.2-specific support (what we use on Jenkins).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 243767)
Time Spent: 6.5h (was: 6h 20m)
> TypeHints Py3 Error: test_non_function
> (apache_beam.typehints.typed_pipeline_test.MainInputTest) Fails on Python 3.7+
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: BEAM-6988
> URL: https://issues.apache.org/jira/browse/BEAM-6988
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-py-core
> Reporter: Robbe
> Assignee: niklas Hansson
> Priority: Major
> Time Spent: 6.5h
> Remaining Estimate: 0h
>
> {noformat}
> Traceback (most recent call last):
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/typed_pipeline_test.py",
> line 53, in test_non_function
> result = ['xa', 'bbx', 'xcx'] | beam.Map(str.strip, 'x')
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform.py",
> line 510, in _ror_
> result = p.apply(self, pvalueish, label)
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/pipeline.py",
> line 514, in apply
> transform.type_check_inputs(pvalueish)
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform.py",
> line 753, in type_check_inputs
> hints = getcallargs_forhints(argspec_fn, *type_hints[0], **type_hints[1])
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/decorators.py",
> line 283, in getcallargs_forhints
> raise TypeCheckError(e)
> apache_beam.typehints.decorators.TypeCheckError: strip() missing 1 required
> positional argument: 'chars'{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)