deriva 1.7.3__tar.gz → 1.7.5__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 (184) hide show
  1. {deriva-1.7.3/deriva.egg-info → deriva-1.7.5}/PKG-INFO +1 -1
  2. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/rollback_annotation.py +1 -1
  3. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/__init__.py +1 -1
  4. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/datapath.py +55 -55
  5. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/ermrest_model.py +702 -186
  6. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/hatrac_cli.py +3 -5
  7. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/hatrac_store.py +9 -20
  8. deriva-1.7.5/deriva/core/mmo.py +379 -0
  9. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/postprocess/transfer_post_processor.py +2 -2
  10. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/query/base_query_processor.py +2 -1
  11. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/deriva_upload.py +4 -0
  12. {deriva-1.7.3 → deriva-1.7.5/deriva.egg-info}/PKG-INFO +1 -1
  13. {deriva-1.7.3 → deriva-1.7.5}/deriva.egg-info/SOURCES.txt +10 -1
  14. deriva-1.7.5/tests/deriva/core/mmo/__init__.py +0 -0
  15. deriva-1.7.5/tests/deriva/core/mmo/base.py +300 -0
  16. deriva-1.7.5/tests/deriva/core/mmo/test_mmo_drop.py +252 -0
  17. deriva-1.7.5/tests/deriva/core/mmo/test_mmo_find.py +90 -0
  18. deriva-1.7.5/tests/deriva/core/mmo/test_mmo_prune.py +196 -0
  19. deriva-1.7.5/tests/deriva/core/mmo/test_mmo_rename.py +222 -0
  20. deriva-1.7.5/tests/deriva/core/mmo/test_mmo_replace.py +180 -0
  21. {deriva-1.7.3 → deriva-1.7.5}/tests/deriva/core/test_datapath.py +52 -26
  22. deriva-1.7.5/tests/deriva/core/test_ermrest_model.py +782 -0
  23. {deriva-1.7.3 → deriva-1.7.5}/.gitignore +0 -0
  24. {deriva-1.7.3 → deriva-1.7.5}/CHANGELOG.md +0 -0
  25. {deriva-1.7.3 → deriva-1.7.5}/LICENSE +0 -0
  26. {deriva-1.7.3 → deriva-1.7.5}/README.md +0 -0
  27. {deriva-1.7.3 → deriva-1.7.5}/deriva/__init__.py +0 -0
  28. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/__init__.py +0 -0
  29. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/acl_config.py +0 -0
  30. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/annotation_config.py +0 -0
  31. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/annotation_validate.py +0 -0
  32. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/base_config.py +0 -0
  33. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/dump_catalog_annotations.py +0 -0
  34. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/examples/group_owner_policy.json +0 -0
  35. {deriva-1.7.3 → deriva-1.7.5}/deriva/config/examples/self_serve_policy.json +0 -0
  36. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/annotation.py +0 -0
  37. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/base_cli.py +0 -0
  38. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/catalog_cli.py +0 -0
  39. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/deriva_binding.py +0 -0
  40. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/deriva_server.py +0 -0
  41. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/ermrest_catalog.py +0 -0
  42. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/polling_ermrest_catalog.py +0 -0
  43. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/app_links.schema.json +0 -0
  44. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/asset.schema.json +0 -0
  45. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/bulk_upload.schema.json +0 -0
  46. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/chaise_config.schema.json +0 -0
  47. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/citation.schema.json +0 -0
  48. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/column_display.schema.json +0 -0
  49. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/display.schema.json +0 -0
  50. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/export.schema.json +0 -0
  51. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/export_2019.schema.json +0 -0
  52. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/foreign_key.schema.json +0 -0
  53. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/generated.schema.json +0 -0
  54. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/immutable.schema.json +0 -0
  55. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/indexing_preferences.schema.json +0 -0
  56. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/key_display.schema.json +0 -0
  57. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/non_deletable.schema.json +0 -0
  58. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/required.schema.json +0 -0
  59. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/source_definitions.schema.json +0 -0
  60. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/table_alternatives.schema.json +0 -0
  61. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/table_display.schema.json +0 -0
  62. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/visible_columns.schema.json +0 -0
  63. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/schemas/visible_foreign_keys.schema.json +0 -0
  64. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/tests/__init__.py +0 -0
  65. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/__init__.py +0 -0
  66. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/core_utils.py +0 -0
  67. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/globus_auth_utils.py +0 -0
  68. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/hash_utils.py +0 -0
  69. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/mime_utils.py +0 -0
  70. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/version_utils.py +0 -0
  71. {deriva-1.7.3 → deriva-1.7.5}/deriva/core/utils/webauthn_utils.py +0 -0
  72. {deriva-1.7.3 → deriva-1.7.5}/deriva/seo/README.md +0 -0
  73. {deriva-1.7.3 → deriva-1.7.5}/deriva/seo/__init__.py +0 -0
  74. {deriva-1.7.3 → deriva-1.7.5}/deriva/seo/sitemap_builder.py +0 -0
  75. {deriva-1.7.3 → deriva-1.7.5}/deriva/seo/sitemap_cli.py +0 -0
  76. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/__init__.py +0 -0
  77. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/backup/__init__.py +0 -0
  78. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/backup/__main__.py +0 -0
  79. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/backup/deriva_backup.py +0 -0
  80. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/backup/deriva_backup_cli.py +0 -0
  81. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/__init__.py +0 -0
  82. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/__main__.py +0 -0
  83. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/deriva_download.py +0 -0
  84. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/deriva_download_cli.py +0 -0
  85. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/__init__.py +0 -0
  86. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/base_processor.py +0 -0
  87. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/postprocess/__init__.py +0 -0
  88. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/postprocess/identifier_post_processor.py +0 -0
  89. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/postprocess/url_post_processor.py +0 -0
  90. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/query/__init__.py +0 -0
  91. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/query/bag_fetch_query_processor.py +0 -0
  92. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/query/file_download_query_processor.py +0 -0
  93. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/__init__.py +0 -0
  94. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/base_transform_processor.py +0 -0
  95. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/column_transform_processor.py +0 -0
  96. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/fasta_transform_processor.py +0 -0
  97. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/format_transform_processor.py +0 -0
  98. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/geo_transform_processor.py +0 -0
  99. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/processors/transform/string_transform_processor.py +0 -0
  100. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/__init__.py +0 -0
  101. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test1.json +0 -0
  102. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test10.json +0 -0
  103. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test11.json +0 -0
  104. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test12.json +0 -0
  105. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test13.json +0 -0
  106. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test14.json +0 -0
  107. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test15.json +0 -0
  108. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test16.json +0 -0
  109. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test19.json +0 -0
  110. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test2.json +0 -0
  111. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test20.json +0 -0
  112. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test3.json +0 -0
  113. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test4.json +0 -0
  114. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test5.json +0 -0
  115. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test6.json +0 -0
  116. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test7.json +0 -0
  117. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test8.json +0 -0
  118. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/download/tests/test9.json +0 -0
  119. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/restore/__init__.py +0 -0
  120. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/restore/__main__.py +0 -0
  121. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/restore/deriva_restore.py +0 -0
  122. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/restore/deriva_restore_cli.py +0 -0
  123. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/__init__.py +0 -0
  124. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/__main__.py +0 -0
  125. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/deriva_upload_cli.py +0 -0
  126. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/processors/__init__.py +0 -0
  127. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/processors/archive_processor.py +0 -0
  128. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/processors/base_processor.py +0 -0
  129. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/processors/logging_processor.py +0 -0
  130. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/processors/metadata_update_processor.py +0 -0
  131. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/processors/rename_processor.py +0 -0
  132. {deriva-1.7.3 → deriva-1.7.5}/deriva/transfer/upload/tests/__init__.py +0 -0
  133. {deriva-1.7.3 → deriva-1.7.5}/deriva/utils/__init__.py +0 -0
  134. {deriva-1.7.3 → deriva-1.7.5}/deriva.egg-info/dependency_links.txt +0 -0
  135. {deriva-1.7.3 → deriva-1.7.5}/deriva.egg-info/entry_points.txt +0 -0
  136. {deriva-1.7.3 → deriva-1.7.5}/deriva.egg-info/requires.txt +0 -0
  137. {deriva-1.7.3 → deriva-1.7.5}/deriva.egg-info/top_level.txt +0 -0
  138. {deriva-1.7.3 → deriva-1.7.5}/docs/BUILD.md +0 -0
  139. {deriva-1.7.3 → deriva-1.7.5}/docs/Makefile +0 -0
  140. {deriva-1.7.3 → deriva-1.7.5}/docs/README.md +0 -0
  141. {deriva-1.7.3 → deriva-1.7.5}/docs/_static/README.txt +0 -0
  142. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.config.rst +0 -0
  143. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.core.rst +0 -0
  144. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.core.utils.rst +0 -0
  145. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.rst +0 -0
  146. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.seo.rst +0 -0
  147. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.backup.rst +0 -0
  148. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.download.processors.postprocess.rst +0 -0
  149. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.download.processors.query.rst +0 -0
  150. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.download.processors.rst +0 -0
  151. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.download.processors.transform.rst +0 -0
  152. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.download.rst +0 -0
  153. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.restore.rst +0 -0
  154. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.rst +0 -0
  155. {deriva-1.7.3 → deriva-1.7.5}/docs/api/deriva.transfer.upload.rst +0 -0
  156. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/commands.md +0 -0
  157. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-acl-config.md +0 -0
  158. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-annotation-config.md +0 -0
  159. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-annotation-validate.md +0 -0
  160. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-backup-cli.md +0 -0
  161. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-download-cli.md +0 -0
  162. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-hatrac-cli.md +0 -0
  163. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-restore-cli.md +0 -0
  164. {deriva-1.7.3 → deriva-1.7.5}/docs/cli/deriva-sitemap-cli.md +0 -0
  165. {deriva-1.7.3 → deriva-1.7.5}/docs/conf.py +0 -0
  166. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-catalog-snapshot.ipynb +0 -0
  167. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-catalog.ipynb +0 -0
  168. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-datapath-example-1.ipynb +0 -0
  169. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-datapath-example-2.ipynb +0 -0
  170. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-datapath-example-3.ipynb +0 -0
  171. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-datapath-example-4.ipynb +0 -0
  172. {deriva-1.7.3 → deriva-1.7.5}/docs/derivapy-datapath-update.ipynb +0 -0
  173. {deriva-1.7.3 → deriva-1.7.5}/docs/get-started.ipynb +0 -0
  174. {deriva-1.7.3 → deriva-1.7.5}/docs/index.rst +0 -0
  175. {deriva-1.7.3 → deriva-1.7.5}/docs/install.md +0 -0
  176. {deriva-1.7.3 → deriva-1.7.5}/docs/make.bat +0 -0
  177. {deriva-1.7.3 → deriva-1.7.5}/docs/project-tutorial.md +0 -0
  178. {deriva-1.7.3 → deriva-1.7.5}/docs/using-r.md +0 -0
  179. {deriva-1.7.3 → deriva-1.7.5}/requirements_dev.txt +0 -0
  180. {deriva-1.7.3 → deriva-1.7.5}/setup.cfg +0 -0
  181. {deriva-1.7.3 → deriva-1.7.5}/setup.py +0 -0
  182. {deriva-1.7.3 → deriva-1.7.5}/tests/__init__.py +0 -0
  183. {deriva-1.7.3 → deriva-1.7.5}/tests/deriva/__init__.py +0 -0
  184. {deriva-1.7.3 → deriva-1.7.5}/tests/deriva/core/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deriva
3
- Version: 1.7.3
3
+ Version: 1.7.5
4
4
  Summary: Python APIs and CLIs (Command-Line Interfaces) for the DERIVA platform.
5
5
  Home-page: https://github.com/informatics-isi-edu/deriva-py
6
6
  Author: USC Information Sciences Institute, Informatics Systems Research Division
@@ -1,4 +1,4 @@
1
- import platform
1
+ import sys
2
2
  from deriva.core import get_credential, BaseCLI, DerivaServer, __version__
3
3
 
4
4
 
@@ -1,4 +1,4 @@
1
- __version__ = "1.7.3"
1
+ __version__ = "1.7.5"
2
2
 
3
3
  from deriva.core.utils.core_utils import *
4
4
  from deriva.core.base_cli import BaseCLI, KeyValuePairArgs
@@ -1008,35 +1008,32 @@ class _TableWrapper (object):
1008
1008
  # determine whether insert is idempotent and therefore retry safe
1009
1009
  retry_safe = on_conflict_skip and _has_user_pkey(self._wrapped_table)
1010
1010
 
1011
- # perform all requests in a helper we can hand to _ResultSet
1012
- def results_func(ignore1, ignore2, ignore3):
1013
- results = []
1014
- for batch in _generate_batches(
1015
- entities,
1016
- max_batch_rows=max_batch_rows,
1017
- max_batch_bytes=max_batch_bytes
1018
- ):
1019
- try:
1020
- if retry_safe:
1021
- resp = _request_with_retry(
1022
- lambda: request_func(batch),
1023
- retry_codes=retry_codes,
1024
- backoff_factor=backoff_factor,
1025
- max_attempts=max_attempts
1026
- )
1027
- else:
1028
- resp = request_func(batch)
1029
- results.extend(resp.json())
1030
- except HTTPError as e:
1031
- logger.debug(e.response.text)
1032
- if 400 <= e.response.status_code < 500:
1033
- raise DataPathException(_http_error_message(e), e)
1034
- else:
1035
- raise e
1036
- return results
1037
-
1038
- result = _ResultSet(self.path.uri, results_func)
1039
- result.fetch()
1011
+ # perform all requests synchronously so the caller can get exceptions
1012
+ results = []
1013
+ for batch in _generate_batches(
1014
+ entities,
1015
+ max_batch_rows=max_batch_rows,
1016
+ max_batch_bytes=max_batch_bytes
1017
+ ):
1018
+ try:
1019
+ if retry_safe:
1020
+ resp = _request_with_retry(
1021
+ lambda: request_func(batch),
1022
+ retry_codes=retry_codes,
1023
+ backoff_factor=backoff_factor,
1024
+ max_attempts=max_attempts
1025
+ )
1026
+ else:
1027
+ resp = request_func(batch)
1028
+ results.extend(resp.json())
1029
+ except HTTPError as e:
1030
+ logger.debug(e.response.text)
1031
+ if 400 <= e.response.status_code < 500:
1032
+ raise DataPathException(_http_error_message(e), e)
1033
+ else:
1034
+ raise e
1035
+
1036
+ result = _ResultSet(self.path.uri, lambda ignore1, ignore2, ignore3: results)
1040
1037
  return result
1041
1038
 
1042
1039
 
@@ -1101,34 +1098,37 @@ class _TableWrapper (object):
1101
1098
  def request_func(batch):
1102
1099
  return self._schema._catalog._wrapped_catalog.put(path, json=batch, headers={'Content-Type': 'application/json'})
1103
1100
 
1104
- # perform all requests in a helper we can hand to _ResultSet
1105
- def results_func(ignore1, ignore2, ignore3):
1106
- results = []
1107
- for batch in _generate_batches(
1108
- entities,
1109
- max_batch_rows=max_batch_rows,
1110
- max_batch_bytes=max_batch_bytes
1111
- ):
1112
- try:
1113
- resp = _request_with_retry(
1114
- lambda: request_func(batch),
1115
- retry_codes=retry_codes,
1116
- backoff_factor=backoff_factor,
1117
- max_attempts=max_attempts
1118
- )
1119
- results.extend(resp.json())
1120
- except HTTPError as e:
1121
- logger.debug(e.response.text)
1122
- if 400 <= e.response.status_code < 500:
1123
- raise DataPathException(_http_error_message(e), e)
1124
- else:
1125
- raise e
1126
- return results
1127
-
1128
- result = _ResultSet(self.path.uri, results_func)
1129
- result.fetch()
1101
+ # perform all requests synchronously so the caller can get exceptions
1102
+ results = []
1103
+ for batch in _generate_batches(
1104
+ entities,
1105
+ max_batch_rows=max_batch_rows,
1106
+ max_batch_bytes=max_batch_bytes
1107
+ ):
1108
+ try:
1109
+ resp = _request_with_retry(
1110
+ lambda: request_func(batch),
1111
+ retry_codes=retry_codes,
1112
+ backoff_factor=backoff_factor,
1113
+ max_attempts=max_attempts
1114
+ )
1115
+ results.extend(resp.json())
1116
+ except HTTPError as e:
1117
+ logger.debug(e.response.text)
1118
+ if 400 <= e.response.status_code < 500:
1119
+ raise DataPathException(_http_error_message(e), e)
1120
+ else:
1121
+ raise e
1122
+
1123
+ result = _ResultSet(self.path.uri, lambda ignore1, ignore2, ignore3: results)
1130
1124
  return result
1131
1125
 
1126
+ def delete(self):
1127
+ """Deletes the entity set referenced by the Table.
1128
+ """
1129
+ self.path.delete()
1130
+
1131
+
1132
1132
  class _TableAlias (_TableWrapper):
1133
1133
  """Represents a table alias in datapath expressions.
1134
1134
  """