fivetran-connector-sdk 0.7.23.3__py3-none-any.whl → 0.7.24.1__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.
@@ -9,6 +9,7 @@ import requests as rq
9
9
  import shutil
10
10
  import subprocess
11
11
  import sys
12
+ import time
12
13
  import traceback
13
14
 
14
15
  from concurrent import futures
@@ -21,6 +22,8 @@ from fivetran_connector_sdk.protos import common_pb2
21
22
  from fivetran_connector_sdk.protos import connector_sdk_pb2
22
23
  from fivetran_connector_sdk.protos import connector_sdk_pb2_grpc
23
24
 
25
+ __version__ = "0.7.24.1"
26
+
24
27
  MAC_OS = "mac"
25
28
  WIN_OS = "windows"
26
29
  LINUX_OS = "linux"
@@ -29,8 +32,10 @@ TESTER_VERSION = "0.24.0711.001"
29
32
  TESTER_FILENAME = "sdk_connector_tester.jar"
30
33
  VERSION_FILENAME = "version.txt"
31
34
  UPLOAD_FILENAME = "code.zip"
35
+ LAST_VERSION_CHECK_FILE = "_last_version_check"
32
36
  ROOT_LOCATION = ".ft_sdk_connector_tester"
33
37
  OUTPUT_FILES_DIR = "files"
38
+ ONE_DAY_IN_SEC = 24 * 60 * 60
34
39
 
35
40
  EXCLUDED_DIRS = ["__pycache__", "lib", "include", OUTPUT_FILES_DIR]
36
41
 
@@ -151,6 +156,35 @@ class Operations:
151
156
  state_json=json.dumps(state))))
152
157
 
153
158
 
159
+ def check_newer_version():
160
+ tester_root_dir = _tester_root_dir()
161
+ last_check_file_path = os.path.join(tester_root_dir, LAST_VERSION_CHECK_FILE)
162
+ if not os.path.isdir(tester_root_dir):
163
+ os.makedirs(tester_root_dir, exist_ok=True)
164
+
165
+ if os.path.isfile(last_check_file_path):
166
+ # Is it time to check again?
167
+ with open(last_check_file_path, 'r') as f_in:
168
+ timestamp = int(f_in.read())
169
+ if (int(time.time()) - timestamp) < ONE_DAY_IN_SEC:
170
+ return
171
+
172
+ # check version and save current time
173
+ from get_pypi_latest_version import GetPyPiLatestVersion
174
+ obtainer = GetPyPiLatestVersion()
175
+ latest_version = obtainer('fivetran_connector_sdk')
176
+ if __version__ < latest_version:
177
+ print(f"[notice] A new release of 'fivetran-connector-sdk' available: {latest_version}\n" +
178
+ f"[notice] To update, run: pip install --upgrade fivetran-connector-sdk")
179
+
180
+ with open(last_check_file_path, 'w') as f_out:
181
+ f_out.write(f"{int(time.time())}")
182
+
183
+
184
+ def _tester_root_dir():
185
+ return os.path.join(os.path.expanduser("~"), ROOT_LOCATION)
186
+
187
+
154
188
  def _get_columns(table: str) -> dict:
155
189
  columns = {}
156
190
  if table in TABLES:
@@ -510,9 +544,11 @@ class Connector(connector_sdk_pb2_grpc.ConnectorServicer):
510
544
  global DEBUGGING
511
545
  DEBUGGING = True
512
546
 
547
+ check_newer_version()
548
+
513
549
  Logging.LOG_LEVEL = log_level
514
550
  os_name = self.__get_os_name()
515
- tester_root_dir = os.path.join(os.path.expanduser("~"), ROOT_LOCATION)
551
+ tester_root_dir = _tester_root_dir()
516
552
  java_exe = self.__java_exe(tester_root_dir, os_name)
517
553
  install_tester = False
518
554
  version_file = os.path.join(tester_root_dir, VERSION_FILENAME)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fivetran_connector_sdk
3
- Version: 0.7.23.3
3
+ Version: 0.7.24.1
4
4
  Summary: Build custom connectors on Fivetran platform
5
5
  Author-email: Fivetran <developers@fivetran.com>
6
6
  Project-URL: Homepage, https://fivetran.com/docs/connectors/connector-sdk
@@ -14,4 +14,5 @@ License-File: LICENSE
14
14
  Requires-Dist: grpcio ==1.60.1
15
15
  Requires-Dist: grpcio-tools ==1.60.1
16
16
  Requires-Dist: requests ==2.31.0
17
+ Requires-Dist: get-pypi-latest-version ==0.0.12
17
18
 
@@ -1,4 +1,4 @@
1
- fivetran_connector_sdk/__init__.py,sha256=X8FNkwbq-sLClW05eDMJWtlDc1n-SUDWbdF-sMYrWVE,33370
1
+ fivetran_connector_sdk/__init__.py,sha256=68AHGiKZsu181QO0VX7tWqfZZQ1xwVKPm7bHIfpdz7U,34603
2
2
  fivetran_connector_sdk/protos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  fivetran_connector_sdk/protos/common_pb2.py,sha256=kUwVcyZHgLigNR-KnHZn7dHrlxaMnUXqzprsRx6T72M,6831
4
4
  fivetran_connector_sdk/protos/common_pb2.pyi,sha256=S0hdIzoXyyOKD5cjiGeDDLYpQ9J3LjAvu4rCj1JvJWE,9038
@@ -6,9 +6,9 @@ fivetran_connector_sdk/protos/common_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
6
6
  fivetran_connector_sdk/protos/connector_sdk_pb2.py,sha256=9Ke_Ti1s0vAeXapfXT-EryrT2-TSGQb8mhs4gxTpUMk,7732
7
7
  fivetran_connector_sdk/protos/connector_sdk_pb2.pyi,sha256=FWYxRgshEF3QDYAE0TM_mv4N2gGvkxCH_uPpxnMc4oA,8406
8
8
  fivetran_connector_sdk/protos/connector_sdk_pb2_grpc.py,sha256=ZfJLp4DW7uP4pFOZ74s_wQ6tD3eIPi-08UfnLwe4tzo,7163
9
- fivetran_connector_sdk-0.7.23.3.dist-info/LICENSE,sha256=Kutp3D0T7HmHuBifKmbw39OZLAL1ckaLRb8u9lyJxE8,1065
10
- fivetran_connector_sdk-0.7.23.3.dist-info/METADATA,sha256=-_8QYUdJZrrEV7gmMH7xrqX5mmZGTRsz2a6GKAo9l-o,651
11
- fivetran_connector_sdk-0.7.23.3.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
12
- fivetran_connector_sdk-0.7.23.3.dist-info/entry_points.txt,sha256=uQn0KPnFlQmXJfxlk0tifdNsSXWfVlnAFzNqjXZM_xM,57
13
- fivetran_connector_sdk-0.7.23.3.dist-info/top_level.txt,sha256=-_xk2MFY4psIh7jw1lJePMzFb5-vask8_ZtX-UzYWUI,23
14
- fivetran_connector_sdk-0.7.23.3.dist-info/RECORD,,
9
+ fivetran_connector_sdk-0.7.24.1.dist-info/LICENSE,sha256=Kutp3D0T7HmHuBifKmbw39OZLAL1ckaLRb8u9lyJxE8,1065
10
+ fivetran_connector_sdk-0.7.24.1.dist-info/METADATA,sha256=guBY9b_vpSjwCjQB_iaP0l9hCsDp55qDVovEL-2-hCA,699
11
+ fivetran_connector_sdk-0.7.24.1.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
12
+ fivetran_connector_sdk-0.7.24.1.dist-info/entry_points.txt,sha256=uQn0KPnFlQmXJfxlk0tifdNsSXWfVlnAFzNqjXZM_xM,57
13
+ fivetran_connector_sdk-0.7.24.1.dist-info/top_level.txt,sha256=-_xk2MFY4psIh7jw1lJePMzFb5-vask8_ZtX-UzYWUI,23
14
+ fivetran_connector_sdk-0.7.24.1.dist-info/RECORD,,