shareddata 6.85.5__tar.gz → 6.85.7__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 (187) hide show
  1. {shareddata-6.85.5/src/shareddata.egg-info → shareddata-6.85.7}/PKG-INFO +1 -1
  2. {shareddata-6.85.5 → shareddata-6.85.7}/setup.py +1 -1
  3. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/AWSS3.py +30 -4
  4. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableRead.py +3 -1
  5. {shareddata-6.85.5 → shareddata-6.85.7/src/shareddata.egg-info}/PKG-INFO +1 -1
  6. {shareddata-6.85.5 → shareddata-6.85.7}/LICENSE +0 -0
  7. {shareddata-6.85.5 → shareddata-6.85.7}/MANIFEST.in +0 -0
  8. {shareddata-6.85.5 → shareddata-6.85.7}/README.md +0 -0
  9. {shareddata-6.85.5 → shareddata-6.85.7}/pyproject.toml +0 -0
  10. {shareddata-6.85.5 → shareddata-6.85.7}/setup.cfg +0 -0
  11. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/ServerGunicorn.py +0 -0
  12. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/ServerWaitress.py +0 -0
  13. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/__init__.py +0 -0
  14. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/apidocs-dark.css +0 -0
  15. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/apidocs.yml +0 -0
  16. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/auth.py +0 -0
  17. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/constants.py +0 -0
  18. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/download_paths.py +0 -0
  19. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/download_slots.py +0 -0
  20. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/install/worker.ps1 +0 -0
  21. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/install/worker.sh +0 -0
  22. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/listcache.py +0 -0
  23. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/__init__.py +0 -0
  24. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/cache.py +0 -0
  25. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/collections.py +0 -0
  26. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/data.py +0 -0
  27. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/downloads.py +0 -0
  28. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/metadata.py +0 -0
  29. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/operations.py +0 -0
  30. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/schedules.py +0 -0
  31. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/sqlite.py +0 -0
  32. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/system.py +0 -0
  33. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/tables.py +0 -0
  34. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/timeseries.py +0 -0
  35. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/web_routes.py +0 -0
  36. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/routes/workers.py +0 -0
  37. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/API/utils.py +0 -0
  38. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Auth/__init__.py +0 -0
  39. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Auth/bootstrap.py +0 -0
  40. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Auth/migrate.py +0 -0
  41. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Auth/store.py +0 -0
  42. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Auth/workers.py +0 -0
  43. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/CacheRedis.py +0 -0
  44. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/CollectionMongoDB.py +0 -0
  45. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/__init__.py +0 -0
  46. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/catalog.py +0 -0
  47. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/config.py +0 -0
  48. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/errors.py +0 -0
  49. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/indexes.py +0 -0
  50. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/readers.py +0 -0
  51. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/resolve.py +0 -0
  52. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/DataAPI/service.py +0 -0
  53. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Database.py +0 -0
  54. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Defaults.py +0 -0
  55. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/AWSEC2.py +0 -0
  56. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/AutoDocstrings.py +0 -0
  57. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/ClientAPI.py +0 -0
  58. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/ClientSocket.py +0 -0
  59. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/ClientWebSocket.py +0 -0
  60. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/LogHandlerAPI.py +0 -0
  61. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/LogReader.py +0 -0
  62. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/MongoDBClient.py +0 -0
  63. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/SaveTables.py +0 -0
  64. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/ServerSocket.py +0 -0
  65. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/ServerWebSocket.py +0 -0
  66. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/StreamsCache.py +0 -0
  67. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/StreamsPersist.py +0 -0
  68. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/SyncTable.py +0 -0
  69. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/TunnelWebSocket.py +0 -0
  70. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/IO/__init__.py +0 -0
  71. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Listing.py +0 -0
  72. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/LockWaiters.py +0 -0
  73. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Logger.py +0 -0
  74. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/MCP/__init__.py +0 -0
  75. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/MCP/__main__.py +0 -0
  76. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/MCP/client.py +0 -0
  77. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/MCP/server.py +0 -0
  78. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Metadata.py +0 -0
  79. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/MultiProc.py +0 -0
  80. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/OpenFIGI.py +0 -0
  81. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Redaction.py +0 -0
  82. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/ArchiveOldCollections.py +0 -0
  83. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/BatchJob.py +0 -0
  84. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/ContainerHealth.py +0 -0
  85. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/JobStore.py +0 -0
  86. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/RoutineCommand.py +0 -0
  87. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/RoutineOrigin.py +0 -0
  88. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/Schedule.py +0 -0
  89. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/ScheduleMirror.py +0 -0
  90. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/ScheduleMonitor.py +0 -0
  91. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/ScheduleStore.py +0 -0
  92. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/Scheduler.py +0 -0
  93. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/UpdateActiveJobs.py +0 -0
  94. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/Worker.py +0 -0
  95. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/WorkerBootstrap.py +0 -0
  96. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/WorkerLib.py +0 -0
  97. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/WorkerPool.py +0 -0
  98. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Routines/__init__.py +0 -0
  99. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/SQLite.py +0 -0
  100. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/SharedData.py +0 -0
  101. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/SharedNumpy.py +0 -0
  102. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/StreamKafka.py +0 -0
  103. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Symbol.py +0 -0
  104. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Table.py +0 -0
  105. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableDisk.py +0 -0
  106. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableIndex.py +0 -0
  107. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableIndexJitFunctions.py +0 -0
  108. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableIndexJitFunctionsManual.py +0 -0
  109. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableIndexJitGenerate.py +0 -0
  110. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableIndexJitHash.py +0 -0
  111. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableIndexJitLoc.py +0 -0
  112. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableProtocol.py +0 -0
  113. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TableRewrite.py +0 -0
  114. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TimeSeriesDisk.py +0 -0
  115. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/TimeseriesContainer.py +0 -0
  116. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Users.py +0 -0
  117. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Utils.py +0 -0
  118. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/ADDING_A_PAGE.md +0 -0
  119. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/__init__.py +0 -0
  120. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/activity_logger.py +0 -0
  121. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/app.py +0 -0
  122. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/dashAgGridComponentFunctions.js +0 -0
  123. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/dashAgGridFunctions.js +0 -0
  124. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/google_logo.png +0 -0
  125. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/kafka_keys.js +0 -0
  126. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/logs.css +0 -0
  127. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/sched.css +0 -0
  128. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/assets/styles.css +0 -0
  129. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/auth.py +0 -0
  130. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/backends.py +0 -0
  131. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/config.py +0 -0
  132. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/containers.py +0 -0
  133. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/identity.py +0 -0
  134. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/kafka_view.py +0 -0
  135. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/mongo_view.py +0 -0
  136. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/proc.py +0 -0
  137. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/redis_view.py +0 -0
  138. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/route_health.py +0 -0
  139. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/route_registry.py +0 -0
  140. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/sched.py +0 -0
  141. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/schedule_editor.py +0 -0
  142. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/server.py +0 -0
  143. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/services.py +0 -0
  144. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/shell.py +0 -0
  145. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/standalone.py +0 -0
  146. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/account.js +0 -0
  147. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/custom.css +0 -0
  148. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/favicon.ico +0 -0
  149. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/favicon.png +0 -0
  150. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/logo.png +0 -0
  151. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/logo_96x96.png +0 -0
  152. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/shareddata-mark.svg +0 -0
  153. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/shell.css +0 -0
  154. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/shell.js +0 -0
  155. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/standalone.css +0 -0
  156. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/static/standalone.js +0 -0
  157. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/suggest.py +0 -0
  158. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/account.html +0 -0
  159. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/base.html +0 -0
  160. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/claim.html +0 -0
  161. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/claim_done.html +0 -0
  162. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/dash.html +0 -0
  163. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/index.html +0 -0
  164. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/login.html +0 -0
  165. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/login_2fa.html +0 -0
  166. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/partials/navbar.html +0 -0
  167. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/partials/scripts.html +0 -0
  168. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/recovery_codes.html +0 -0
  169. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/shell.html +0 -0
  170. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/templates/standalone.html +0 -0
  171. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/twofactor.py +0 -0
  172. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/utils.py +0 -0
  173. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/Web/workerpool.py +0 -0
  174. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/__init__.py +0 -0
  175. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/build_info.py +0 -0
  176. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/fleet.py +0 -0
  177. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/preflight.py +0 -0
  178. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/private_files.py +0 -0
  179. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/release_backup.py +0 -0
  180. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/server.py +0 -0
  181. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/services.py +0 -0
  182. {shareddata-6.85.5 → shareddata-6.85.7}/src/SharedData/sharedmutexwin.pyd +0 -0
  183. {shareddata-6.85.5 → shareddata-6.85.7}/src/shareddata.egg-info/SOURCES.txt +0 -0
  184. {shareddata-6.85.5 → shareddata-6.85.7}/src/shareddata.egg-info/dependency_links.txt +0 -0
  185. {shareddata-6.85.5 → shareddata-6.85.7}/src/shareddata.egg-info/entry_points.txt +0 -0
  186. {shareddata-6.85.5 → shareddata-6.85.7}/src/shareddata.egg-info/requires.txt +0 -0
  187. {shareddata-6.85.5 → shareddata-6.85.7}/src/shareddata.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shareddata
3
- Version: 6.85.5
3
+ Version: 6.85.7
4
4
  Summary: Memory Mapped / Shared Memory Database with S3 repository
5
5
  Home-page: https://shareddata.net
6
6
  Author: shareddata
@@ -66,7 +66,7 @@ test_requires = [
66
66
 
67
67
  setup(
68
68
  name='shareddata',
69
- version='6.85.5',
69
+ version='6.85.7',
70
70
  description='Memory Mapped / Shared Memory Database with S3 repository',
71
71
  author='shareddata',
72
72
  author_email='admin@shareddata.net',
@@ -299,6 +299,32 @@ def S3Upload(file_io, path, mtime, database_folder=None):
299
299
  Logger.log.error(Logger.user+' Uploading to S3 '+path+' ERROR!')
300
300
  raise Exception(Logger.user+' Uploading to S3 '+path+' ERROR!')
301
301
 
302
+ _batch_delete_refused = False
303
+
304
+
305
+ def _delete_objects(bucket, batch):
306
+ """
307
+ Delete the keys of `batch` ([{'Key': ...}, ...]) with one DeleteObjects call.
308
+
309
+ The MinIO behind this bucket demands a Content-MD5 header on DeleteObjects, and boto3 1.36 and
310
+ later send a CRC32 checksum instead, so the call fails with MissingContentMD5. When that happens
311
+ the keys are deleted one by one (DeleteObject has no body to checksum) and the batch call is not
312
+ tried again in this process.
313
+ """
314
+ global _batch_delete_refused
315
+ if not _batch_delete_refused:
316
+ try:
317
+ bucket.delete_objects(Delete={'Objects': batch})
318
+ return
319
+ except Exception as error:
320
+ code = getattr(error, 'response', {}).get('Error', {}).get('Code')
321
+ if code != 'MissingContentMD5':
322
+ raise
323
+ _batch_delete_refused = True
324
+ for item in batch:
325
+ bucket.Object(item['Key']).delete()
326
+
327
+
302
328
  def S3DeleteTable(remote_path):
303
329
  """
304
330
  Deletes the files 'head.bin.gzip' and 'tail.bin.gzip' from an S3 bucket at the specified remote path.
@@ -326,7 +352,7 @@ def S3DeleteTable(remote_path):
326
352
  batch_size = 1000 # Adjust if necessary
327
353
  for i in range(0, len(delete_us), batch_size):
328
354
  batch = delete_us[i:i+batch_size]
329
- bucket.delete_objects(Delete={'Objects': batch})
355
+ _delete_objects(bucket, batch)
330
356
  except Exception as e:
331
357
  Logger.log.error(f"S3Delete {remote_path} ERROR!\n{str(e)}")
332
358
  raise Exception(f"S3Delete {remote_path} ERROR!\n{str(e)}")
@@ -353,7 +379,7 @@ def S3DeleteTimeseries(remote_path):
353
379
  batch_size = 1000 # Adjust if necessary
354
380
  for i in range(0, len(delete_us), batch_size):
355
381
  batch = delete_us[i:i+batch_size]
356
- bucket.delete_objects(Delete={'Objects': batch})
382
+ _delete_objects(bucket, batch)
357
383
  except Exception as e:
358
384
  Logger.log.error(f"S3Delete {remote_path} ERROR!\n{str(e)}")
359
385
  raise Exception(f"S3Delete {remote_path} ERROR!\n{str(e)}")
@@ -383,7 +409,7 @@ def S3DeleteFolder(remote_path):
383
409
  batch_size = 1000 # Adjust if necessary
384
410
  for i in range(0, len(delete_us), batch_size):
385
411
  batch = delete_us[i:i+batch_size]
386
- bucket.delete_objects(Delete={'Objects': batch})
412
+ _delete_objects(bucket, batch)
387
413
  except Exception as e:
388
414
  Logger.log.error(f"S3Delete {remote_path} ERROR!\n{str(e)}")
389
415
  raise Exception(f"S3Delete {remote_path} ERROR!\n{str(e)}")
@@ -403,7 +429,7 @@ def S3DeleteFile(remote_path: str) -> None:
403
429
  """
404
430
  try:
405
431
  s3, bucket = S3GetSession()
406
- response = bucket.delete_objects(Delete={'Objects': [{'Key': remote_path}]})
432
+ _delete_objects(bucket, [{'Key': remote_path}])
407
433
  except Exception as e:
408
434
  Logger.log.error(f"S3DeleteFile {remote_path} ERROR!\n{str(e)}")
409
435
  raise Exception(f"S3DeleteFile {remote_path} ERROR!\n{str(e)}")
@@ -32,7 +32,9 @@ def _open_view(table, generation):
32
32
  size = int(header['recordssize'])
33
33
  info = os.fstat(stream.fileno())
34
34
  offset = table.hdrdtype.itemsize
35
- if size < 1 or info.st_size < offset + size * table.recdtype.itemsize:
35
+ # A table created with size=0 (the real-time partitions) has no capacity until its
36
+ # first extend: that is an empty table, not a short image.
37
+ if size < 0 or info.st_size < offset + size * table.recdtype.itemsize:
36
38
  raise RewriteError('record read image is shorter than its capacity')
37
39
  records = np.memmap(stream, table.recdtype, 'r+', offset, (size,))
38
40
  # No Table back-references: replaced bundles close as soon as their last
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shareddata
3
- Version: 6.85.5
3
+ Version: 6.85.7
4
4
  Summary: Memory Mapped / Shared Memory Database with S3 repository
5
5
  Home-page: https://shareddata.net
6
6
  Author: shareddata
File without changes
File without changes
File without changes
File without changes
File without changes