jj-ookla opened a new issue #19716:
URL: https://github.com/apache/airflow/issues/19716


   ### Apache Airflow version
   
   2.2.2 (latest released)
   
   ### Operating System
   
   Ubuntu 18.04.6
   
   ### Versions of Apache Airflow Providers
   
   _No response_
   
   ### Deployment
   
   Other Docker-based deployment
   
   ### Deployment details
   
   _No response_
   
   ### What happened
   
   The deprecated variable `execution_date` raises an error when used in an f 
string template with date string formatting.
   
   ```python
   In [1]: execution_date
   DeprecationWarning: Accessing 'execution_date' from the template is 
deprecated and will be removed in a future version. Please use 'logical_date' 
or 'data_interval_start' instead.
   Out[1]: <Proxy at 0x7fb6f9af81c0 wrapping DateTime(2021, 11, 18, 0, 0, 0, 
tzinfo=Timezone('UTC')) at 0x7fb6f9aeff90 with factory <function 
TaskInstance.get_template_context.<locals>.deprecated_proxy.<locals>.deprecated_func
 at 0x7fb6f98699d0>>
   
   In [2]: f"{execution_date:%Y-%m-%d}"
   ---------------------------------------------------------------------------
   TypeError                                 Traceback (most recent call last)
   ----> 1 f"{execution_date:%Y-%m-%d}"
   
   TypeError: unsupported format string passed to Proxy.__format__
   ```
   
   
   
   ### What you expected to happen
   
   Execution `f"{execution_date:%Y-%m-%d}"` should return a string and not 
raise an error. 
   
   ### How to reproduce
   
   ```python
   from datetime import datetime
   from airflow import DAG
   from airflow.operators.python import PythonOperator
   
   
   def test_str_fmt(execution_date: datetime):
       return f"{execution_date:%Y-%m-%d}"
   
   
   dag = DAG(
       dag_id="Test_Date_String",
       schedule_interval="@daily",
       catchup=False,
       default_args={
           "depends_on_past": False,
           "start_date": datetime(2021, 11, 1),
           "email": None,
           "email_on_failure": False,
           "email_on_retry": False,
           "retries": 0,
       },
   )
   
   with dag:
       test_task = PythonOperator(
           task_id="test_task",
           python_callable=test_str_fmt,
       )
   ```
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to