apache-airflow-providers-sftp 5.1.1__py3-none-any.whl → 5.1.2rc1__py3-none-any.whl

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.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "5.1.1"
32
+ __version__ = "5.1.2"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.9.0"
@@ -27,8 +27,9 @@ def get_provider_info():
27
27
  "name": "SFTP",
28
28
  "description": "`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__\n",
29
29
  "state": "ready",
30
- "source-date-epoch": 1741509612,
30
+ "source-date-epoch": 1743836705,
31
31
  "versions": [
32
+ "5.1.2",
32
33
  "5.1.1",
33
34
  "5.1.0",
34
35
  "5.0.0",
@@ -95,18 +95,24 @@ class SFTPSensor(BaseSensorOperator):
95
95
  else:
96
96
  return False
97
97
  else:
98
- actual_files_to_check = [self.path]
99
-
100
- for actual_file_to_check in actual_files_to_check:
101
98
  try:
102
- mod_time = self.hook.get_mod_time(actual_file_to_check)
103
- self.log.info("Found File %s last modified: %s", actual_file_to_check, mod_time)
99
+ self.hook.isfile(self.path)
100
+ actual_files_to_check = [self.path]
104
101
  except OSError as e:
105
102
  if e.errno != SFTP_NO_SUCH_FILE:
106
103
  raise AirflowException from e
107
- continue
104
+ actual_files_to_check = []
105
+
106
+ if self.newer_than:
107
+ for actual_file_to_check in actual_files_to_check:
108
+ try:
109
+ mod_time = self.hook.get_mod_time(actual_file_to_check)
110
+ self.log.info("Found File %s last modified: %s", actual_file_to_check, mod_time)
111
+ except OSError as e:
112
+ if e.errno != SFTP_NO_SUCH_FILE:
113
+ raise AirflowException from e
114
+ continue
108
115
 
109
- if self.newer_than:
110
116
  if isinstance(self.newer_than, str):
111
117
  self.newer_than = parse(self.newer_than)
112
118
  _mod_time = convert_to_utc(datetime.strptime(mod_time, "%Y%m%d%H%M%S"))
@@ -126,8 +132,8 @@ class SFTPSensor(BaseSensorOperator):
126
132
  str(_mod_time),
127
133
  str(_newer_than),
128
134
  )
129
- else:
130
- files_found.append(actual_file_to_check)
135
+ else:
136
+ files_found = actual_files_to_check
131
137
 
132
138
  if not len(files_found):
133
139
  return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-sftp
3
- Version: 5.1.1
3
+ Version: 5.1.2rc1
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,18 +20,18 @@ Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: System :: Monitoring
23
- Requires-Dist: apache-airflow>=2.9.0
24
- Requires-Dist: apache-airflow-providers-ssh>=2.1.0
23
+ Requires-Dist: apache-airflow>=2.9.0rc0
24
+ Requires-Dist: apache-airflow-providers-ssh>=2.1.0rc0
25
25
  Requires-Dist: paramiko>=2.9.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.apache.org/docs/apache-airflow-providers-sftp/5.1.1/changelog.html
31
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.1
30
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.2/changelog.html
31
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.2
32
+ Project-URL: Mastodon, https://fosstodon.org/@airflow
32
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
33
34
  Project-URL: Source Code, https://github.com/apache/airflow
34
- Project-URL: Twitter, https://x.com/ApacheAirflow
35
35
  Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
36
36
  Provides-Extra: common-compat
37
37
  Provides-Extra: openlineage
@@ -61,7 +61,7 @@ Provides-Extra: openlineage
61
61
 
62
62
  Package ``apache-airflow-providers-sftp``
63
63
 
64
- Release: ``5.1.1``
64
+ Release: ``5.1.2``
65
65
 
66
66
 
67
67
  `SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
@@ -74,7 +74,7 @@ This is a provider package for ``sftp`` provider. All classes for this provider
74
74
  are in ``airflow.providers.sftp`` python package.
75
75
 
76
76
  You can find package information and changelog for the provider
77
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.1/>`_.
77
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.2/>`_.
78
78
 
79
79
  Installation
80
80
  ------------
@@ -101,7 +101,7 @@ Cross provider package dependencies
101
101
  -----------------------------------
102
102
 
103
103
  Those are dependencies that might be needed in order to use all the features of the package.
104
- You need to install the specified provider packages in order to use them.
104
+ You need to install the specified providers in order to use them.
105
105
 
106
106
  You can install such cross-provider dependencies when installing from PyPI. For example:
107
107
 
@@ -119,5 +119,5 @@ Dependent package
119
119
  ================================================================================================================== =================
120
120
 
121
121
  The changelog for the provider package can be found in the
122
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.1/changelog.html>`_.
122
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.1.2/changelog.html>`_.
123
123
 
@@ -1,6 +1,6 @@
1
1
  airflow/providers/sftp/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
2
- airflow/providers/sftp/__init__.py,sha256=N2tDz6dqlCE4CDTlsZJXq39AESjhHCOXWX6QyKt_ZCo,1491
3
- airflow/providers/sftp/get_provider_info.py,sha256=YKtWfzGpCEAE0RAeyWbZ5r3W-DAU5rxk7zjGUcH46r0,4324
2
+ airflow/providers/sftp/__init__.py,sha256=WdG_S0JGjH55B8nVQJCyjdE-82LLOGB5teA3VeIPUC8,1491
3
+ airflow/providers/sftp/get_provider_info.py,sha256=RSPeKARVeBql8BB3Wt4PRAHxTvydeRz5Y46QsDzZlcY,4345
4
4
  airflow/providers/sftp/decorators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
5
5
  airflow/providers/sftp/decorators/sensors/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
6
6
  airflow/providers/sftp/decorators/sensors/sftp.py,sha256=deps7xldfdLcO5mwxuZ9SJ7wFNrf2DZWMSt_KYMmGG4,2888
@@ -9,10 +9,10 @@ airflow/providers/sftp/hooks/sftp.py,sha256=srBUSfeqxI37T7ytSfAQo8zX-GDWoDdWKFXH
9
9
  airflow/providers/sftp/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
10
10
  airflow/providers/sftp/operators/sftp.py,sha256=skNYBFzdZUnkU_SpDf_m6HxnUuTVd5KDwJDRJnly7NE,11670
11
11
  airflow/providers/sftp/sensors/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
12
- airflow/providers/sftp/sensors/sftp.py,sha256=GF8GGnkuSKrg2kqNMGWLm99SE9rtrtDqWxoOPE1QdY8,8046
12
+ airflow/providers/sftp/sensors/sftp.py,sha256=WpotlHzsWRgtJnu44zEKU3hagKT1J634M-jQYvQ9Z3M,8301
13
13
  airflow/providers/sftp/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
14
14
  airflow/providers/sftp/triggers/sftp.py,sha256=fSi-I5FocNQblHt4GYfGispFgOOl8XQ9Vk9ZFLcv_Sw,6182
15
- apache_airflow_providers_sftp-5.1.1.dist-info/entry_points.txt,sha256=Fa1IkUHV6qnIuwLd0U7tKoklbLXXVrbB2hhG6N7Q-zo,100
16
- apache_airflow_providers_sftp-5.1.1.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
17
- apache_airflow_providers_sftp-5.1.1.dist-info/METADATA,sha256=jX6lZ3-Z6AWlo-VSbw0f9OeHh_WsFiMsGJpGa98RNiY,5681
18
- apache_airflow_providers_sftp-5.1.1.dist-info/RECORD,,
15
+ apache_airflow_providers_sftp-5.1.2rc1.dist-info/entry_points.txt,sha256=Fa1IkUHV6qnIuwLd0U7tKoklbLXXVrbB2hhG6N7Q-zo,100
16
+ apache_airflow_providers_sftp-5.1.2rc1.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
17
+ apache_airflow_providers_sftp-5.1.2rc1.dist-info/METADATA,sha256=ujjbMECmxT5GwWmcwzWEWZinY2QbwvNMnF_S772NgS4,5686
18
+ apache_airflow_providers_sftp-5.1.2rc1.dist-info/RECORD,,