Luke Grzela created AIRFLOW-1429:
------------------------------------
Summary: Unable to add connections programatically if user/pass in
the URI contain special characters
Key: AIRFLOW-1429
URL: https://issues.apache.org/jira/browse/AIRFLOW-1429
Project: Apache Airflow
Issue Type: Improvement
Components: core
Affects Versions: Airflow 1.7.1.3
Environment: Ubuntu 14.04
Reporter: Luke Grzela
Hello,
I hit a problem with adding FTP connections to airflow programmatically.
If there is a question mark in the username or password part of the FTP uri,
i.e. if the URI is something like ftp://joe:[email protected], then
everything before the questionmark will be treated as the URI and the rest I
suppose is considered to be the query string, I tried replacing the ? with %3F,
but it didn't help.
Here's our code for adding the connection:
{noformat}
from airflow import settings
from airflow.models import Connection
def add_connection(conn_id, uri):
"""
Add a connection to airflow's list of known connections.
This function is internal, you can call it if you want,
but best to use one of the above 'public' functions.
"""
conn = Connection(conn_id=conn_id, uri=uri)
session = settings.Session()
existing_conn = session.query(Connection).filter(Connection.conn_id ==
conn_id).first()
if existing_conn:
session.delete(existing_conn)
session.add(conn)
session.commit()
session.close()
{noformat}
Is there any way to escape the question marks and any other special characters?
Thanks,
Luke
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)