geoseeq 0.6.6a1__py3-none-any.whl → 0.6.8a1__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.6') # remember to update setup
57
+ click.echo('0.6.8') # remember to update setup
58
58
 
59
59
 
60
60
  @main.group('advanced')
@@ -14,7 +14,7 @@ private_option = click.option('--private/--public', default=True, help='Make obj
14
14
  link_option = click.option(
15
15
  '--link-type',
16
16
  default='upload',
17
- type=click.Choice(['upload', 's3', 'ftp', 'azure', 'sra']),
17
+ type=click.Choice(['upload', 's3', 'ftp', 'azure', 'sra', 'http']),
18
18
  help='Link the files from a cloud storage service instead of copying them'
19
19
  )
20
20
  yes_option = click.option('--yes/--confirm', default=False, help='Skip confirmation prompts')
@@ -15,6 +15,7 @@ from .resumable_download_tracker import ResumableDownloadTracker
15
15
 
16
16
  logger = logging.getLogger("geoseeq_api") # Same name as calling module
17
17
 
18
+
18
19
  def url_to_id(url):
19
20
  url = url.split("?")[0]
20
21
  return md5(url.encode()).hexdigest()[:16]
@@ -80,6 +81,8 @@ def guess_download_kind(url):
80
81
  return 's3'
81
82
  elif 'ftp' in url:
82
83
  return 'ftp'
84
+ elif 'http' in url: # note works for https too
85
+ return 'http'
83
86
  else:
84
87
  return 'generic'
85
88
 
@@ -103,6 +106,9 @@ def download_url(url, kind='guess', filename=None, head=None, progress_tracker=N
103
106
  return _download_head(url, filename, head=head)
104
107
  elif kind == 'ftp':
105
108
  return download_ftp(url, filename, head=head)
109
+ elif kind == 'http':
110
+ # for http[s] files we care about head is often respected in practice (e.g. by the ENA)
111
+ return _download_head(url, filename, head=head, progress_tracker=progress_tracker)
106
112
  else:
107
113
  raise ValueError(f"Unknown download kind: {kind}")
108
114
 
@@ -113,7 +119,7 @@ class ResultFileDownload:
113
119
  def get_download_url(self):
114
120
  """Return a URL that can be used to download the file for this result."""
115
121
  blob_type = self.stored_data.get("__type__", "").lower()
116
- if blob_type not in ["s3", "sra", "ftp", "azure"]:
122
+ if blob_type not in ["s3", "sra", "ftp", "azure", "http"]:
117
123
  raise ValueError(f'Unknown URL type: "{blob_type}"')
118
124
  key = 'url' if 'url' in self.stored_data else 'uri'
119
125
  if blob_type in ["s3", "azure"]:
@@ -127,7 +133,6 @@ class ResultFileDownload:
127
133
  else:
128
134
  return self.stored_data[key]
129
135
 
130
-
131
136
  def _download_flag_path(self, filename, flag_suffix='.gs_downloaded'):
132
137
  return filename + flag_suffix
133
138
 
@@ -149,6 +149,9 @@ class ResultFile(RemoteObject, ResultFileUpload, ResultFileDownload):
149
149
  return self.link_sra(*args, **kwargs)
150
150
  elif link_type == "azure":
151
151
  return self.link_azure(*args, **kwargs)
152
+ elif link_type == "http":
153
+ return self.link_http(*args, **kwargs)
154
+ assert False, f"Unknown link type: {link_type}"
152
155
 
153
156
  def link_s3(self, url, endpoint_url=None):
154
157
  """Link this field to an S3 object.
@@ -207,6 +210,18 @@ class ResultFile(RemoteObject, ResultFileUpload, ResultFileDownload):
207
210
  }
208
211
  return self.save()
209
212
 
213
+ def link_http(self, url):
214
+ """Link this field to an HTTP object.
215
+
216
+ Args:
217
+ url (str): The URL of the HTTP object.
218
+ """
219
+ self.stored_data = {
220
+ "__type__": "http",
221
+ "url": url,
222
+ }
223
+ return self.save()
224
+
210
225
  def idem(self):
211
226
  try:
212
227
  return super().idem()
geoseeq/sample.py CHANGED
@@ -215,7 +215,7 @@ class Sample(RemoteObject):
215
215
  )
216
216
  else:
217
217
  files[read_type][folder_name].append(
218
- self._grn_to_file(file_grn)
218
+ self._grn_to_file(file_grn[0])
219
219
  )
220
220
  return files
221
221
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geoseeq
3
- Version: 0.6.6a1
3
+ Version: 0.6.8a1
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>
@@ -9,7 +9,7 @@ geoseeq/organization.py,sha256=bJkYL8_D-k6IYAaii2ZbxjwYnXy6lvu6iLXscxKlA3w,2542
9
9
  geoseeq/pipeline.py,sha256=89mhWaecsKnm6tyRkdkaVp4dmZh62_v42Ze0oXf8OTY,9873
10
10
  geoseeq/project.py,sha256=pVx4etzkYmYAYwcPJsjN9PrI-7GZEkAaz2Q5GFdng1s,13810
11
11
  geoseeq/remote_object.py,sha256=Es-JlAz8iLRmCpAzh1MOwUh2MqtbuQM-p8wHIBAqNlQ,7131
12
- geoseeq/sample.py,sha256=KkN9fUTkjTIvozR5y2pS9c6rt4jwHN2Bap38dU_Lrck,8391
12
+ geoseeq/sample.py,sha256=TNtYL8ph2pG0R5ukDC4J2AwdA0xDK9Bx7dVQmQKIMQs,8394
13
13
  geoseeq/search.py,sha256=gawad6Cx5FxJBPlYkXWb-UKAO-UC0_yhvyU9Ca1kaNI,3388
14
14
  geoseeq/upload_download_manager.py,sha256=FMRqLLg77o1qFbWZc5Yc86a2pjeZrrn1rHJr1iaxKCU,8757
15
15
  geoseeq/user.py,sha256=tol8i1UGLRrbMw5jeJDnna1ikRgrCDd50Jxz0a1lSgg,690
@@ -22,7 +22,7 @@ geoseeq/cli/detail.py,sha256=q8Suu-j2k18knfSVFG-SWWGNsKM-n8y9RMA3LcIIi9Y,4132
22
22
  geoseeq/cli/download.py,sha256=QTNA7qFjCdRJg2vKbAm5yH8WGlcF5fb5bSjm5QiI4XE,17768
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=JDSr0egFAe6PdEO1CBVJBn23zwExgjQVdrU5aHRzVQc,3908
25
+ geoseeq/cli/main.py,sha256=Xs4Os4wKljPYhXK0g01FkcUWL-kIZjH_Cc7U87FFKNM,3908
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
@@ -37,7 +37,7 @@ geoseeq/cli/shared_params/common_state.py,sha256=jiHZtL3TATMjEoqhbO7HT8KkLJr1QPs
37
37
  geoseeq/cli/shared_params/config.py,sha256=HQ0xQh_jdt3EKI5VXYqQXzo-s8Rm6YlziMyVX-kg598,1072
38
38
  geoseeq/cli/shared_params/id_handlers.py,sha256=501K9sCVkI0YGDQ62vXk_DM5lMMDrdB5spIS3cw9x9U,9299
39
39
  geoseeq/cli/shared_params/obj_getters.py,sha256=ZSkt6LnDkVFlNVYKgLrjzg60-6BthZMr3eeD3HNqzac,2741
40
- geoseeq/cli/shared_params/opts_and_args.py,sha256=LrDkv9WtUryM4uUMXPRk04-EBcTQ7q5V6Yu-XRDUvvA,2083
40
+ geoseeq/cli/shared_params/opts_and_args.py,sha256=_DcJ-TqgrbBaeDd-kuHEx2gLZPQN6EHZYWh8Ag-d8Vg,2091
41
41
  geoseeq/cli/upload/__init__.py,sha256=3C9_S9t7chmYU-2ot89NV03x-EtmsjibulErKaU9w1k,627
42
42
  geoseeq/cli/upload/upload.py,sha256=JZkhe1q3KOp7-tKyzwi860TQhZoNDnZs4yB2PJhOjl0,10081
43
43
  geoseeq/cli/upload/upload_advanced.py,sha256=Jq5eGe-wOdrzxGWVwaFPg0BAJcW0YSx_eHEmYjJeKuA,3434
@@ -66,9 +66,9 @@ geoseeq/plotting/map/overlay.py,sha256=4VmxqOESTQra9tPr8b8OLEUhJSit9lNipabeSznEY
66
66
  geoseeq/result/__init__.py,sha256=IFHIyRV8ZzuKIfwfze1SXgcKwNMcSgMAknLHMkwjXIU,356
67
67
  geoseeq/result/bioinfo.py,sha256=QQtbyogrdro9avJSN0713sxLVnVeA24mFw3hWtKDKyw,1782
68
68
  geoseeq/result/file_chunker.py,sha256=bXq1csuRtqMB5sbH-AfWo6gdPwrivv5DJPuHVj-h08w,1758
69
- geoseeq/result/file_download.py,sha256=KalIkwBbFI8xRpbhToixfd1KMAu_0FYwxdKq146NAHw,7832
69
+ geoseeq/result/file_download.py,sha256=F0qSlZyrzh7G2R-qxmGwRicTJiojBUbcBN_SWF1sZac,8123
70
70
  geoseeq/result/file_upload.py,sha256=xs1DrI-h4ZP7xN8HPBc3SFpcPAxR5HAolraP1Zu7tvE,10648
71
- geoseeq/result/result_file.py,sha256=1Yj9fkZhds3J-tay6eNH2-EHi00MovHGV1M80_ckHD8,8677
71
+ geoseeq/result/result_file.py,sha256=A2PIdkuNY0czXLXPenSRdUPdCFdjJGGqs3nBOflNwnA,9099
72
72
  geoseeq/result/result_folder.py,sha256=-m1lDVLpNHKy-JUGihboVzvdMJEnHossyRnxmBe1XLo,11140
73
73
  geoseeq/result/resumable_download_tracker.py,sha256=YEzqHBBnE7L3XokTvlTAhHZ8TcDTIE_pyTQ7YadOfbU,3667
74
74
  geoseeq/result/resumable_upload_tracker.py,sha256=2aI09gYz2yw63jEXqs8lmCRKQ79TIc3YuPETvP0Jeek,3811
@@ -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.6a1.dist-info/LICENSE,sha256=IuhIl1XCxXLPLJT_coN1CNqQU4Khlq7x4IdW7ioOJD8,1067
89
- geoseeq-0.6.6a1.dist-info/METADATA,sha256=x_h48P9AwhPkC3Tn-3ExOsm6v-3_exvPPsfeqfAPTqI,4917
90
- geoseeq-0.6.6a1.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
91
- geoseeq-0.6.6a1.dist-info/entry_points.txt,sha256=yF-6KDM8zXib4Al0qn49TX-qM7PUkWUIcYtsgt36rjM,45
92
- geoseeq-0.6.6a1.dist-info/top_level.txt,sha256=zZk7mmeaqAYqFJG8nq2DTgSQPbflRjJwkDIhNURPDEU,14
93
- geoseeq-0.6.6a1.dist-info/RECORD,,
88
+ geoseeq-0.6.8a1.dist-info/LICENSE,sha256=IuhIl1XCxXLPLJT_coN1CNqQU4Khlq7x4IdW7ioOJD8,1067
89
+ geoseeq-0.6.8a1.dist-info/METADATA,sha256=VYP9ZUkWW0VlupB6D-V5esY4GJeCihiFFAPKukdYbm4,4917
90
+ geoseeq-0.6.8a1.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
91
+ geoseeq-0.6.8a1.dist-info/entry_points.txt,sha256=yF-6KDM8zXib4Al0qn49TX-qM7PUkWUIcYtsgt36rjM,45
92
+ geoseeq-0.6.8a1.dist-info/top_level.txt,sha256=zZk7mmeaqAYqFJG8nq2DTgSQPbflRjJwkDIhNURPDEU,14
93
+ geoseeq-0.6.8a1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.2)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5