Fokko commented on a change in pull request #5990: [AIRFLOW-5390] Remove provide context URL: https://github.com/apache/airflow/pull/5990#discussion_r322677142
########## File path: airflow/operators/python_operator.py ########## @@ -91,23 +86,58 @@ def __init__( self.python_callable = python_callable self.op_args = op_args or [] self.op_kwargs = op_kwargs or {} - self.provide_context = provide_context self.templates_dict = templates_dict if templates_exts: self.template_ext = templates_exts - def execute(self, context): + @staticmethod + def determine_op_kwargs(python_callable: Callable, + context: Dict, + num_op_args: int = 0) -> Dict: + """ + Function that will inspect the signature of a python_callable to determine which + values need to be passed to the function. + + :param python_callable: The function that you want to invoke + :param context: The context provided by the execute method of the Operator/Sensor + :param num_op_args: The number of op_args provided, so we know how many to skip + :return: The op_args dictionary which contains the values that are compatible with the Callable + """ + context_keys = context.keys() + sig = signature(python_callable).parameters.items() + op_args_names = islice(sig, num_op_args) + for name, _ in op_args_names: + # Check if it part of the context Review comment: Tnx! ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services