pyopencga 4.0.1.dev0__tar.gz → 4.1.0.dev0__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.
Files changed (38) hide show
  1. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/PKG-INFO +1 -1
  2. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/commons.py +20 -15
  3. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/_parent_rest_clients.py +7 -1
  4. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga.egg-info/PKG-INFO +1 -1
  5. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/setup.py +1 -1
  6. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/LICENSE +0 -0
  7. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/README.rst +0 -0
  8. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/__init__.py +0 -0
  9. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/exceptions.py +0 -0
  10. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/opencga_client.py +0 -0
  11. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/opencga_config.py +0 -0
  12. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/__init__.py +0 -0
  13. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/admin_client.py +0 -0
  14. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/alignment_client.py +0 -0
  15. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/clinical_analysis_client.py +0 -0
  16. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/cohort_client.py +0 -0
  17. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/disease_panel_client.py +0 -0
  18. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/family_client.py +0 -0
  19. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/file_client.py +0 -0
  20. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/ga4gh_client.py +0 -0
  21. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/individual_client.py +0 -0
  22. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/job_client.py +0 -0
  23. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/meta_client.py +0 -0
  24. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/organization_client.py +0 -0
  25. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/project_client.py +0 -0
  26. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/sample_client.py +0 -0
  27. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/study_client.py +0 -0
  28. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/user_client.py +0 -0
  29. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/variant_client.py +0 -0
  30. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/variant_operation_client.py +0 -0
  31. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_clients/workflow_client.py +0 -0
  32. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/rest_response.py +0 -0
  33. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga/retry.py +0 -0
  34. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga.egg-info/SOURCES.txt +0 -0
  35. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga.egg-info/dependency_links.txt +0 -0
  36. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga.egg-info/requires.txt +0 -0
  37. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/pyopencga.egg-info/top_level.txt +0 -0
  38. {pyopencga-4.0.1.dev0 → pyopencga-4.1.0.dev0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyopencga
3
- Version: 4.0.1.dev0
3
+ Version: 4.1.0.dev0
4
4
  Summary: A REST client for OpenCGA REST web services
5
5
  Author: Daniel Perez-Gil
6
6
  Author-email: daniel.perez@zettagenomics.com
@@ -176,23 +176,28 @@ def _fetch(config, sid, category, resource, method, subcategory=None, query_id=N
176
176
  raise OpencgaInvalidToken(r.content)
177
177
  elif r.status_code == 403:
178
178
  raise OpencgaAuthorisationError(r.content)
179
-
180
179
  elif r.status_code != 200:
181
180
  raise Exception(r.content)
182
181
 
183
- try:
184
- response = r.json()
185
-
186
- # TODO Remove deprecated response and result in future release. Added for backwards compatibility
187
- if 'response' in response:
188
- response['responses'] = response['response']
189
- for query_result in response['responses']:
190
- if 'result' in query_result:
191
- query_result['results'] = query_result['result']
192
-
193
- except ValueError:
194
- msg = 'Bad JSON format retrieved from server'
195
- raise ValueError(msg)
182
+ if r.headers['Content-Type'] == 'application/json':
183
+ try:
184
+ response = r.json()
185
+
186
+ # TODO Remove deprecated response and result in future release. Added for backwards compatibility
187
+ if 'response' in response:
188
+ response['responses'] = response['response']
189
+ for query_result in response['responses']:
190
+ if 'result' in query_result:
191
+ query_result['results'] = query_result['result']
192
+
193
+ except ValueError:
194
+ raise ValueError('Bad JSON format retrieved from server')
195
+ elif r.headers['Content-Type'] == 'application/octet-stream':
196
+ return r.content
197
+ else:
198
+ raise ValueError('Unexpected content type retrieved from server ("{}"): "{}"'.format(
199
+ r.headers['Content-Type'], r.content)
200
+ )
196
201
 
197
202
  # Setting up final_response
198
203
  if final_response is None:
@@ -324,7 +329,7 @@ def execute(config, sid, category, resource, method, subcategory=None, query_id=
324
329
  'options': options})
325
330
  # Setting threads as "daemon" allows main program to exit eventually
326
331
  # even if these do not finish correctly
327
- t.setDaemon(True)
332
+ t.daemon = True
328
333
  t.start()
329
334
 
330
335
  # Loading up the queue with index and id batches for each job
@@ -1,3 +1,5 @@
1
+ import json
2
+
1
3
  from pyopencga.commons import execute
2
4
  from pyopencga.rest_response import RestResponse
3
5
  from pyopencga.retry import retry
@@ -67,7 +69,11 @@ class _ParentRestClient(object):
67
69
 
68
70
  if self.auto_refresh:
69
71
  self._refresh_token_client()
70
- return RestResponse(response)
72
+
73
+ if isinstance(response, dict):
74
+ return RestResponse(response)
75
+ else: # Not a JSON (e.g. /{apiVersion}/files/{file}/download)
76
+ return response
71
77
 
72
78
  def _get(self, category, resource, query_id=None, subcategory=None,
73
79
  second_query_id=None, **options):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyopencga
3
- Version: 4.0.1.dev0
3
+ Version: 4.1.0.dev0
4
4
  Summary: A REST client for OpenCGA REST web services
5
5
  Author: Daniel Perez-Gil
6
6
  Author-email: daniel.perez@zettagenomics.com
@@ -14,7 +14,7 @@ with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
14
14
 
15
15
  setup(
16
16
  name='pyopencga',
17
- version='4.0.1.dev0',
17
+ version='4.1.0.dev0',
18
18
  description='A REST client for OpenCGA REST web services',
19
19
  long_description=long_description,
20
20
  long_description_content_type='text/x-rst',
File without changes
File without changes