apache-airflow-providers-sftp 5.3.3rc1__tar.gz → 5.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/PKG-INFO +10 -10
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/README.rst +4 -4
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/changelog.rst +16 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/index.rst +4 -4
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/provider.yaml +2 -1
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/pyproject.toml +7 -6
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/__init__.py +1 -1
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/hooks/sftp.py +6 -1
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/operators/sftp.py +4 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/triggers/sftp.py +1 -1
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/operators/test_sftp.py +16 -2
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/commits.rst +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/conf.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/connections/sftp.rst +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/integration-logos/SFTP.png +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/security.rst +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/sensors/sftp_sensor.rst +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/LICENSE +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/decorators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/decorators/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/decorators/sensors/sftp.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/get_provider_info.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/hooks/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/operators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/sensors/sftp.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/triggers/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/src/airflow/providers/sftp/version_compat.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/conftest.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/system/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/system/sftp/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/system/sftp/example_sftp_sensor.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/decorators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/decorators/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/decorators/sensors/test_sftp.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/hooks/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/hooks/test_sftp.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/operators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/sensors/test_sftp.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/triggers/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/unit/sftp/triggers/test_sftp.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-sftp
|
3
|
-
Version: 5.3.
|
3
|
+
Version: 5.3.4
|
4
4
|
Summary: Provider package apache-airflow-providers-sftp for Apache Airflow
|
5
5
|
Keywords: airflow-provider,sftp,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -20,15 +20,15 @@ Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
|
-
Requires-Dist: apache-airflow>=2.10.
|
24
|
-
Requires-Dist: apache-airflow-providers-ssh>=4.0.
|
25
|
-
Requires-Dist: paramiko>=2.9.0
|
23
|
+
Requires-Dist: apache-airflow>=2.10.0
|
24
|
+
Requires-Dist: apache-airflow-providers-ssh>=4.0.0
|
25
|
+
Requires-Dist: paramiko>=2.9.0,<4.0.0
|
26
26
|
Requires-Dist: asyncssh>=2.12.0
|
27
27
|
Requires-Dist: apache-airflow-providers-common-compat ; extra == "common-compat"
|
28
28
|
Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
|
29
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
30
|
-
Project-URL: Changelog, https://airflow.
|
31
|
-
Project-URL: Documentation, https://airflow.
|
30
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4/changelog.html
|
31
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4
|
32
32
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
33
33
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
34
34
|
Project-URL: Source Code, https://github.com/apache/airflow
|
@@ -61,7 +61,7 @@ Provides-Extra: openlineage
|
|
61
61
|
|
62
62
|
Package ``apache-airflow-providers-sftp``
|
63
63
|
|
64
|
-
Release: ``5.3.
|
64
|
+
Release: ``5.3.4``
|
65
65
|
|
66
66
|
Release Date: ``|PypiReleaseDate|``
|
67
67
|
|
@@ -75,7 +75,7 @@ This is a provider package for ``sftp`` provider. All classes for this provider
|
|
75
75
|
are in ``airflow.providers.sftp`` python package.
|
76
76
|
|
77
77
|
You can find package information and changelog for the provider
|
78
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.
|
78
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4/>`_.
|
79
79
|
|
80
80
|
Installation
|
81
81
|
------------
|
@@ -94,7 +94,7 @@ PIP package Version required
|
|
94
94
|
================================ ==================
|
95
95
|
``apache-airflow`` ``>=2.10.0``
|
96
96
|
``apache-airflow-providers-ssh`` ``>=4.0.0``
|
97
|
-
``paramiko`` ``>=2.9.0``
|
97
|
+
``paramiko`` ``>=2.9.0,<4.0.0``
|
98
98
|
``asyncssh`` ``>=2.12.0``
|
99
99
|
================================ ==================
|
100
100
|
|
@@ -120,5 +120,5 @@ Dependent package
|
|
120
120
|
================================================================================================================== =================
|
121
121
|
|
122
122
|
The changelog for the provider package can be found in the
|
123
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.
|
123
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4/changelog.html>`_.
|
124
124
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
Package ``apache-airflow-providers-sftp``
|
25
25
|
|
26
|
-
Release: ``5.3.
|
26
|
+
Release: ``5.3.4``
|
27
27
|
|
28
28
|
Release Date: ``|PypiReleaseDate|``
|
29
29
|
|
@@ -37,7 +37,7 @@ This is a provider package for ``sftp`` provider. All classes for this provider
|
|
37
37
|
are in ``airflow.providers.sftp`` python package.
|
38
38
|
|
39
39
|
You can find package information and changelog for the provider
|
40
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.
|
40
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4/>`_.
|
41
41
|
|
42
42
|
Installation
|
43
43
|
------------
|
@@ -56,7 +56,7 @@ PIP package Version required
|
|
56
56
|
================================ ==================
|
57
57
|
``apache-airflow`` ``>=2.10.0``
|
58
58
|
``apache-airflow-providers-ssh`` ``>=4.0.0``
|
59
|
-
``paramiko`` ``>=2.9.0``
|
59
|
+
``paramiko`` ``>=2.9.0,<4.0.0``
|
60
60
|
``asyncssh`` ``>=2.12.0``
|
61
61
|
================================ ==================
|
62
62
|
|
@@ -82,4 +82,4 @@ Dependent package
|
|
82
82
|
================================================================================================================== =================
|
83
83
|
|
84
84
|
The changelog for the provider package can be found in the
|
85
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.
|
85
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4/changelog.html>`_.
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/changelog.rst
RENAMED
@@ -27,6 +27,22 @@
|
|
27
27
|
Changelog
|
28
28
|
---------
|
29
29
|
|
30
|
+
5.3.4
|
31
|
+
.....
|
32
|
+
|
33
|
+
Bug Fixes
|
34
|
+
~~~~~~~~~
|
35
|
+
|
36
|
+
* ``Fix missing prefetch arg to SFTPOperator (#53906)``
|
37
|
+
|
38
|
+
Misc
|
39
|
+
~~~~
|
40
|
+
|
41
|
+
* ``Limit paramiko to '< 4.0.0' till we remove DSS support (#54078)``
|
42
|
+
|
43
|
+
.. Below changes are excluded from the changelog. Move them to
|
44
|
+
appropriate section above if needed. Do not delete the lines(!):
|
45
|
+
|
30
46
|
5.3.3
|
31
47
|
.....
|
32
48
|
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/index.rst
RENAMED
@@ -70,7 +70,7 @@ apache-airflow-providers-sftp package
|
|
70
70
|
`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
|
71
71
|
|
72
72
|
|
73
|
-
Release: 5.3.
|
73
|
+
Release: 5.3.4
|
74
74
|
|
75
75
|
Release Date: ``|PypiReleaseDate|``
|
76
76
|
|
@@ -97,7 +97,7 @@ PIP package Version required
|
|
97
97
|
================================ ==================
|
98
98
|
``apache-airflow`` ``>=2.10.0``
|
99
99
|
``apache-airflow-providers-ssh`` ``>=4.0.0``
|
100
|
-
``paramiko`` ``>=2.9.0``
|
100
|
+
``paramiko`` ``>=2.9.0,<4.0.0``
|
101
101
|
``asyncssh`` ``>=2.12.0``
|
102
102
|
================================ ==================
|
103
103
|
|
@@ -128,5 +128,5 @@ Downloading official packages
|
|
128
128
|
You can download officially released packages and verify their checksums and signatures from the
|
129
129
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
130
130
|
|
131
|
-
* `The apache-airflow-providers-sftp 5.3.
|
132
|
-
* `The apache-airflow-providers-sftp 5.3.
|
131
|
+
* `The apache-airflow-providers-sftp 5.3.4 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.3.4.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.3.4.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.3.4.tar.gz.sha512>`__)
|
132
|
+
* `The apache-airflow-providers-sftp 5.3.4 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.3.4-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.3.4-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.3.4-py3-none-any.whl.sha512>`__)
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/provider.yaml
RENAMED
@@ -22,12 +22,13 @@ description: |
|
|
22
22
|
`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
|
23
23
|
|
24
24
|
state: ready
|
25
|
-
source-date-epoch:
|
25
|
+
source-date-epoch: 1754503469
|
26
26
|
# Note that those versions are maintained by release manager - do not update them manually
|
27
27
|
# with the exception of case where other provider in sources has >= new provider version.
|
28
28
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
29
29
|
# to be done in the same PR
|
30
30
|
versions:
|
31
|
+
- 5.3.4
|
31
32
|
- 5.3.3
|
32
33
|
- 5.3.2
|
33
34
|
- 5.3.1
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/pyproject.toml
RENAMED
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
25
25
|
|
26
26
|
[project]
|
27
27
|
name = "apache-airflow-providers-sftp"
|
28
|
-
version = "5.3.
|
28
|
+
version = "5.3.4"
|
29
29
|
description = "Provider package apache-airflow-providers-sftp for Apache Airflow"
|
30
30
|
readme = "README.rst"
|
31
31
|
authors = [
|
@@ -57,9 +57,10 @@ requires-python = ">=3.10"
|
|
57
57
|
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
|
58
58
|
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
59
59
|
dependencies = [
|
60
|
-
"apache-airflow>=2.10.
|
61
|
-
"apache-airflow-providers-ssh>=4.0.
|
62
|
-
|
60
|
+
"apache-airflow>=2.10.0",
|
61
|
+
"apache-airflow-providers-ssh>=4.0.0",
|
62
|
+
# TODO: Bump to >= 4.0.0 once https://github.com/apache/airflow/issues/54079 is handled
|
63
|
+
"paramiko>=2.9.0,<4.0.0",
|
63
64
|
"asyncssh>=2.12.0",
|
64
65
|
]
|
65
66
|
|
@@ -110,8 +111,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
110
111
|
apache-airflow-providers-standard = {workspace = true}
|
111
112
|
|
112
113
|
[project.urls]
|
113
|
-
"Documentation" = "https://airflow.
|
114
|
-
"Changelog" = "https://airflow.
|
114
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4"
|
115
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.3.4/changelog.html"
|
115
116
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
116
117
|
"Source Code" = "https://github.com/apache/airflow"
|
117
118
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "5.3.
|
32
|
+
__version__ = "5.3.4"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"2.10.0"
|
@@ -358,7 +358,11 @@ class SFTPHook(SSHHook):
|
|
358
358
|
self.retrieve_file(file_path, new_local_path, prefetch)
|
359
359
|
|
360
360
|
def retrieve_directory_concurrently(
|
361
|
-
self,
|
361
|
+
self,
|
362
|
+
remote_full_path: str,
|
363
|
+
local_full_path: str,
|
364
|
+
workers: int = os.cpu_count() or 2,
|
365
|
+
prefetch: bool = True,
|
362
366
|
) -> None:
|
363
367
|
"""
|
364
368
|
Transfer the remote directory to a local location concurrently.
|
@@ -405,6 +409,7 @@ class SFTPHook(SSHHook):
|
|
405
409
|
conns[i],
|
406
410
|
local_file_chunks[i],
|
407
411
|
remote_file_chunks[i],
|
412
|
+
prefetch,
|
408
413
|
)
|
409
414
|
for i in range(workers)
|
410
415
|
]
|
@@ -76,6 +76,7 @@ class SFTPOperator(BaseOperator):
|
|
76
76
|
)
|
77
77
|
:param concurrency: Number of threads when transferring directories. Each thread opens a new SFTP connection.
|
78
78
|
This parameter is used only when transferring directories, not individual files. (Default is 1)
|
79
|
+
:param prefetch: controls whether prefetch is performed (default: True)
|
79
80
|
|
80
81
|
"""
|
81
82
|
|
@@ -93,6 +94,7 @@ class SFTPOperator(BaseOperator):
|
|
93
94
|
confirm: bool = True,
|
94
95
|
create_intermediate_dirs: bool = False,
|
95
96
|
concurrency: int = 1,
|
97
|
+
prefetch: bool = True,
|
96
98
|
**kwargs,
|
97
99
|
) -> None:
|
98
100
|
super().__init__(**kwargs)
|
@@ -105,6 +107,7 @@ class SFTPOperator(BaseOperator):
|
|
105
107
|
self.local_filepath = local_filepath
|
106
108
|
self.remote_filepath = remote_filepath
|
107
109
|
self.concurrency = concurrency
|
110
|
+
self.prefetch = prefetch
|
108
111
|
|
109
112
|
def execute(self, context: Any) -> str | list[str] | None:
|
110
113
|
if self.local_filepath is None:
|
@@ -173,6 +176,7 @@ class SFTPOperator(BaseOperator):
|
|
173
176
|
_remote_filepath,
|
174
177
|
_local_filepath,
|
175
178
|
workers=self.concurrency,
|
179
|
+
prefetch=self.prefetch,
|
176
180
|
)
|
177
181
|
elif self.concurrency == 1:
|
178
182
|
self.sftp_hook.retrieve_directory(_remote_filepath, _local_filepath)
|
@@ -84,7 +84,7 @@ class SFTPTrigger(BaseTrigger):
|
|
84
84
|
check whether the last modified time is greater, if true return file if false it polls again.
|
85
85
|
"""
|
86
86
|
hook = self._get_async_hook()
|
87
|
-
|
87
|
+
|
88
88
|
if isinstance(self.newer_than, str):
|
89
89
|
self.newer_than = parse_date(self.newer_than)
|
90
90
|
_newer_than = convert_to_utc(self.newer_than) if self.newer_than else None
|
@@ -96,6 +96,21 @@ class TestSFTPOperator:
|
|
96
96
|
if os.path.exists(self.test_remote_dir):
|
97
97
|
os.rmdir(self.test_remote_dir)
|
98
98
|
|
99
|
+
def test_default_args(self):
|
100
|
+
operator = SFTPOperator(
|
101
|
+
task_id="test_default_args",
|
102
|
+
remote_filepath="/tmp/remote_file",
|
103
|
+
)
|
104
|
+
assert operator.operation == SFTPOperation.PUT
|
105
|
+
assert operator.confirm is True
|
106
|
+
assert operator.create_intermediate_dirs is False
|
107
|
+
assert operator.concurrency == 1
|
108
|
+
assert operator.prefetch is True
|
109
|
+
assert operator.local_filepath is None
|
110
|
+
assert operator.sftp_hook is None
|
111
|
+
assert operator.ssh_conn_id is None
|
112
|
+
assert operator.remote_host is None
|
113
|
+
|
99
114
|
@pytest.mark.skipif(AIRFLOW_V_3_0_PLUS, reason="Pickle support is removed in Airflow 3")
|
100
115
|
@conf_vars({("core", "enable_xcom_pickling"): "True"})
|
101
116
|
def test_pickle_file_transfer_put(self, dag_maker):
|
@@ -442,8 +457,7 @@ class TestSFTPOperator:
|
|
442
457
|
concurrency=2,
|
443
458
|
).execute(None)
|
444
459
|
assert mock_get.call_count == 1
|
445
|
-
|
446
|
-
assert args == (remote_dirpath, local_dirpath)
|
460
|
+
assert mock_get.call_args == mock.call(remote_dirpath, local_dirpath, workers=2, prefetch=True)
|
447
461
|
|
448
462
|
@mock.patch("airflow.providers.sftp.operators.sftp.SFTPHook.store_file")
|
449
463
|
def test_str_filepaths_put(self, mock_get):
|
File without changes
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/commits.rst
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/docs/security.rst
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_sftp-5.3.3rc1 → apache_airflow_providers_sftp-5.3.4}/tests/conftest.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|