-
Notifications
You must be signed in to change notification settings - Fork 16.4k
add encoding config in FtpHook #17253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst)
|
airflow/providers/ftp/hooks/ftp.py
Outdated
| if self.conn is None: | ||
| params = self.get_connection(self.ftp_conn_id) | ||
| pasv = params.extra_dejson.get("passive", True) | ||
| encoding = params.extra_dejson.get("encoding", "latin-1") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there a reason this defaults to latin-1 and not utf-8?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the current behaviour? I am not familiar with FTP, is “server default” a thing? If there is, we should probably do something like
try:
self.conn.encoding = params.extra_dejson["encoding"]
except KeyError:
passThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
conn.encoding is default config. I used if to judge whether encoding is in extra_dejson, not try
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions. |
The default ftplib package in FTP Hook is latin-1 encoding. If you encounter Chinese or other non-English languages, you will encounter garbled characters if you use list_directory and other methods, so you can add a configuration item to change the encoding in FTP Hook.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.