geoseeq 0.6.11__py3-none-any.whl → 0.6.12__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.
geoseeq/cli/main.py CHANGED
@@ -54,7 +54,7 @@ def version():
54
54
  Use of this tool implies acceptance of the GeoSeeq End User License Agreement.
55
55
  Run `geoseeq eula show` to view the EULA.
56
56
  """
57
- click.echo('0.6.11') # remember to update pyproject.toml
57
+ click.echo('0.6.12') # remember to update pyproject.toml
58
58
 
59
59
 
60
60
  @main.group('advanced')
@@ -127,15 +127,22 @@ class GeoSeeqUploadManager:
127
127
 
128
128
 
129
129
  def _download_one_file(args):
130
- url, file_path, pbar, ignore_errors, head, log_level, parallel_downloads = args
130
+ original_url, file_path, key, callback, pbar, ignore_errors, head, log_level, parallel_downloads = args
131
131
  if parallel_downloads:
132
132
  _make_in_process_logger(log_level)
133
- if isinstance(url, ResultFile):
134
- url = url.get_download_url()
133
+ if isinstance(original_url, ResultFile):
134
+ url = original_url.get_download_url()
135
+ else:
136
+ url = original_url
135
137
  try:
136
138
  if dirname(file_path):
137
139
  makedirs(dirname(file_path), exist_ok=True)
138
- return download_url(url, filename=file_path, progress_tracker=pbar, head=head)
140
+ local_path = download_url(url, filename=file_path, progress_tracker=pbar, head=head)
141
+ if callback is not None:
142
+ callback_result = callback(local_path)
143
+ else:
144
+ callback_result = None
145
+ return local_path, key, callback_result
139
146
  except Exception as e:
140
147
  if ignore_errors:
141
148
  logger.error(f"Error downloading {url}: {e}")
@@ -153,13 +160,14 @@ class GeoSeeqDownloadManager:
153
160
  self.log_level = log_level
154
161
  self._result_files = []
155
162
 
156
- def add_download(self, url, file_path=None, progress_tracker=None):
163
+
164
+ def add_download(self, url, file_path=None, progress_tracker=None, callback=None, key=None):
157
165
  if not file_path:
158
166
  if isinstance(url, ResultFile):
159
167
  file_path = url.get_local_filename()
160
168
  else:
161
169
  raise ValueError("file_path must be provided if url is not a ResultFile object.")
162
- self._result_files.append((url, file_path))
170
+ self._result_files.append((url, file_path, key, callback))
163
171
 
164
172
 
165
173
  def add_result_folder_download(self, result_folder, local_folder_path, hidden_files=True):
@@ -170,14 +178,14 @@ class GeoSeeqDownloadManager:
170
178
 
171
179
  def get_preview_string(self):
172
180
  out = ["Download Preview:"]
173
- for url, file_path in self._result_files:
181
+ for url, file_path, _, _ in self._result_files:
174
182
  out.append(f"{url} -> {file_path}")
175
183
  return "\n".join(out)
176
184
 
177
185
  def get_url_string(self):
178
186
  self._convert_result_files_to_urls()
179
187
  out = []
180
- for url, _ in self._result_files:
188
+ for url, _, _, _ in self._result_files:
181
189
  out.append(url)
182
190
  return "\n".join(out)
183
191
 
@@ -188,16 +196,23 @@ class GeoSeeqDownloadManager:
188
196
  self._result_files = [(
189
197
  url.get_download_url() if isinstance(url, ResultFile) else url,
190
198
  file_path,
191
- ) for url, file_path in self._result_files]
199
+ key,
200
+ callback
201
+ ) for url, file_path, key, callback in self._result_files]
192
202
 
193
203
  def download_files(self):
204
+ """Return a list of 3-ples (local_path, key, callback_result).
205
+
206
+ If no key was provided the key is None
207
+ If no callback was provided with the file callback result is None
208
+ """
194
209
  self._convert_result_files_to_urls()
195
210
  download_args = [(
196
- url, file_path,
211
+ url, file_path, key, callback,
197
212
  self.progress_tracker_factory(file_path),
198
213
  self.ignore_errors, self.head, self.log_level,
199
214
  self.n_parallel_downloads > 1
200
- ) for url, file_path in self._result_files]
215
+ ) for url, file_path, key, callback in self._result_files]
201
216
  out = []
202
217
  if self.n_parallel_downloads == 1:
203
218
  logger.info(f"Downloading files in series.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: geoseeq
3
- Version: 0.6.11
3
+ Version: 0.6.12
4
4
  Summary: GeoSeeq command line tools and python API
5
5
  Author: David C. Danko
6
6
  Author-email: "David C. Danko" <dcdanko@biotia.io>
@@ -11,7 +11,7 @@ geoseeq/project.py,sha256=kN6m1N4Tlud7saU03Sbir-oIBnXet_Cwi2OVVdaeag0,13929
11
11
  geoseeq/remote_object.py,sha256=GYN6PKU7Zz3htIdpFjfZiFejzGqqJHbJyKlefM1Eixk,7151
12
12
  geoseeq/sample.py,sha256=nlvmSy2WmiOMamkulNRloFPX7E9jVs34m1vO1PSOrHU,8336
13
13
  geoseeq/search.py,sha256=gawad6Cx5FxJBPlYkXWb-UKAO-UC0_yhvyU9Ca1kaNI,3388
14
- geoseeq/upload_download_manager.py,sha256=FMRqLLg77o1qFbWZc5Yc86a2pjeZrrn1rHJr1iaxKCU,8757
14
+ geoseeq/upload_download_manager.py,sha256=n9gghhN6WAlV6kpKXhR8inyKilo3vexRVWJSiwlujtI,9372
15
15
  geoseeq/user.py,sha256=tol8i1UGLRrbMw5jeJDnna1ikRgrCDd50Jxz0a1lSgg,690
16
16
  geoseeq/utils.py,sha256=ZXpWb2MetUIeLrExiXb7IaOXYrW1pvrdP3o0KWzbwCs,4035
17
17
  geoseeq/work_orders.py,sha256=5uLVVfdKE8qh4gGaHkdBpXJGRTujuSg59knWCqEET4A,8071
@@ -22,7 +22,7 @@ geoseeq/cli/detail.py,sha256=q8Suu-j2k18knfSVFG-SWWGNsKM-n8y9RMA3LcIIi9Y,4132
22
22
  geoseeq/cli/download.py,sha256=W3OswqpHg1thzW6CJ7IcSS0Te2LA2WfgYISQMSl4GQg,18921
23
23
  geoseeq/cli/fastq_utils.py,sha256=-bmeQLaiMBm57zWOF0R5OlWTU0_3sh1JBC1RYw2BOFM,3083
24
24
  geoseeq/cli/get_eula.py,sha256=79mbUwyiF7O1r0g6UTxG9kJGQEqKuH805E6eLkPC6Y4,997
25
- geoseeq/cli/main.py,sha256=JceKuFnjouAPFnY4AKcfwg6MuSw5X2vVBQmbAJB0MDw,3918
25
+ geoseeq/cli/main.py,sha256=Q8nIWhR6raWkwCY8X6HibyV_m6Ub25pDnQsGaoD7O6U,3918
26
26
  geoseeq/cli/manage.py,sha256=wGXAcVaXqE5JQEU8Jh6OlHr02nB396bpS_SFcOZdrEo,5929
27
27
  geoseeq/cli/progress_bar.py,sha256=p1Xl01nkYxSBZCB30ue2verIIi22W93m3ZAMAxipD0g,738
28
28
  geoseeq/cli/project.py,sha256=V5SdXm2Hwo2lxrkpwRDedw-mAE4XnM2uwT-Gj1D90VQ,3030
@@ -85,9 +85,9 @@ geoseeq/vc/vc_stub.py,sha256=IQr8dI0zsWKVAeY_5ybDD6n49_3othcgfHS3P0O9tuY,3110
85
85
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  tests/test_api_client.py,sha256=TS5njc5pcPP_Ycy-ljcfPVT1hQRBsFVdQ0lCqBmoesU,12810
87
87
  tests/test_plotting.py,sha256=TcTu-2ARr8sxZJ7wPQxmbs3-gHw7uRvsgrhhhg0qKik,784
88
- geoseeq-0.6.11.dist-info/LICENSE,sha256=IuhIl1XCxXLPLJT_coN1CNqQU4Khlq7x4IdW7ioOJD8,1067
89
- geoseeq-0.6.11.dist-info/METADATA,sha256=2KHgmI19d8X39YqPd5R_t8H3-hEWV5yTwesrsrxJ4CY,4932
90
- geoseeq-0.6.11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
91
- geoseeq-0.6.11.dist-info/entry_points.txt,sha256=yF-6KDM8zXib4Al0qn49TX-qM7PUkWUIcYtsgt36rjM,45
92
- geoseeq-0.6.11.dist-info/top_level.txt,sha256=zZk7mmeaqAYqFJG8nq2DTgSQPbflRjJwkDIhNURPDEU,14
93
- geoseeq-0.6.11.dist-info/RECORD,,
88
+ geoseeq-0.6.12.dist-info/LICENSE,sha256=IuhIl1XCxXLPLJT_coN1CNqQU4Khlq7x4IdW7ioOJD8,1067
89
+ geoseeq-0.6.12.dist-info/METADATA,sha256=XuSQsMproY77_NI9-Mg6LOGBYIka5A7lROyeiTaSYcU,4932
90
+ geoseeq-0.6.12.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
91
+ geoseeq-0.6.12.dist-info/entry_points.txt,sha256=yF-6KDM8zXib4Al0qn49TX-qM7PUkWUIcYtsgt36rjM,45
92
+ geoseeq-0.6.12.dist-info/top_level.txt,sha256=zZk7mmeaqAYqFJG8nq2DTgSQPbflRjJwkDIhNURPDEU,14
93
+ geoseeq-0.6.12.dist-info/RECORD,,