shareddata 6.85.4__tar.gz → 6.85.6__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.
- {shareddata-6.85.4/src/shareddata.egg-info → shareddata-6.85.6}/PKG-INFO +1 -1
- {shareddata-6.85.4 → shareddata-6.85.6}/setup.py +1 -1
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/AWSS3.py +30 -4
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TimeSeriesDisk.py +18 -2
- {shareddata-6.85.4 → shareddata-6.85.6/src/shareddata.egg-info}/PKG-INFO +1 -1
- {shareddata-6.85.4 → shareddata-6.85.6}/LICENSE +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/MANIFEST.in +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/README.md +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/pyproject.toml +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/setup.cfg +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/ServerGunicorn.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/ServerWaitress.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/apidocs-dark.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/apidocs.yml +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/auth.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/constants.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/download_paths.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/download_slots.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/install/worker.ps1 +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/install/worker.sh +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/listcache.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/cache.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/collections.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/data.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/downloads.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/metadata.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/operations.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/schedules.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/sqlite.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/system.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/tables.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/timeseries.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/web_routes.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/routes/workers.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/API/utils.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Auth/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Auth/bootstrap.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Auth/migrate.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Auth/store.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Auth/workers.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/CacheRedis.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/CollectionMongoDB.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/catalog.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/config.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/errors.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/indexes.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/readers.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/resolve.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/DataAPI/service.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Database.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Defaults.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/AWSEC2.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/AutoDocstrings.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/ClientAPI.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/ClientSocket.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/ClientWebSocket.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/LogHandlerAPI.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/LogReader.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/MongoDBClient.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/SaveTables.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/ServerSocket.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/ServerWebSocket.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/StreamsCache.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/StreamsPersist.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/SyncTable.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/TunnelWebSocket.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/IO/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Listing.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/LockWaiters.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Logger.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/MCP/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/MCP/__main__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/MCP/client.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/MCP/server.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Metadata.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/MultiProc.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/OpenFIGI.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Redaction.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/ArchiveOldCollections.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/BatchJob.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/ContainerHealth.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/JobStore.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/RoutineCommand.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/RoutineOrigin.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/Schedule.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/ScheduleMirror.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/ScheduleMonitor.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/ScheduleStore.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/Scheduler.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/UpdateActiveJobs.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/Worker.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/WorkerBootstrap.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/WorkerLib.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/WorkerPool.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Routines/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/SQLite.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/SharedData.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/SharedNumpy.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/StreamKafka.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Symbol.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Table.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableDisk.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableIndex.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableIndexJitFunctions.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableIndexJitFunctionsManual.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableIndexJitGenerate.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableIndexJitHash.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableIndexJitLoc.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableProtocol.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableRead.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TableRewrite.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/TimeseriesContainer.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Users.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Utils.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/ADDING_A_PAGE.md +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/activity_logger.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/app.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/dashAgGridComponentFunctions.js +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/dashAgGridFunctions.js +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/google_logo.png +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/kafka_keys.js +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/logs.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/sched.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/styles.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/auth.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/backends.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/config.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/containers.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/identity.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/kafka_view.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/mongo_view.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/proc.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/redis_view.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/route_health.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/route_registry.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/sched.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/schedule_editor.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/server.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/services.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/shell.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/standalone.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/account.js +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/custom.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/favicon.ico +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/favicon.png +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/logo.png +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/logo_96x96.png +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/shareddata-mark.svg +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/shell.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/shell.js +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/standalone.css +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/static/standalone.js +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/suggest.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/account.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/base.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/claim.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/claim_done.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/dash.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/index.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/login.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/login_2fa.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/partials/navbar.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/partials/scripts.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/recovery_codes.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/shell.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/templates/standalone.html +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/twofactor.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/utils.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/workerpool.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/__init__.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/build_info.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/fleet.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/preflight.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/private_files.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/release_backup.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/server.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/services.py +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/sharedmutexwin.pyd +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/shareddata.egg-info/SOURCES.txt +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/shareddata.egg-info/dependency_links.txt +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/shareddata.egg-info/entry_points.txt +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/shareddata.egg-info/requires.txt +0 -0
- {shareddata-6.85.4 → shareddata-6.85.6}/src/shareddata.egg-info/top_level.txt +0 -0
|
@@ -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
|
|
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
|
|
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
|
|
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
|
-
|
|
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)}")
|
|
@@ -124,8 +124,7 @@ class TimeSeriesDisk:
|
|
|
124
124
|
|
|
125
125
|
if value is not None:
|
|
126
126
|
# mutex() acquired the non-reentrant tag lock for initialization.
|
|
127
|
-
self.
|
|
128
|
-
add_columns=True, flush=True)
|
|
127
|
+
self._write_constructor_value_locked(value)
|
|
129
128
|
finally:
|
|
130
129
|
self.release()
|
|
131
130
|
|
|
@@ -188,6 +187,23 @@ class TimeSeriesDisk:
|
|
|
188
187
|
finally:
|
|
189
188
|
self.release()
|
|
190
189
|
|
|
190
|
+
def _write_constructor_value_locked(self, value):
|
|
191
|
+
"""
|
|
192
|
+
The `value=` of the constructor, with the meaning it always had: rows whose timestamp is not
|
|
193
|
+
a slot of the series (a weekend, a date after its end) are skipped, not an error. Routines
|
|
194
|
+
build the frame from other tables and hand it over as is. The exact-timestamp check belongs to
|
|
195
|
+
write_values(), the explicit bulk API.
|
|
196
|
+
"""
|
|
197
|
+
self.ensure_columns(value.columns, _locked=True)
|
|
198
|
+
tidx = self.get_loc_timestamp(value.index.values.astype(np.int64) / 10**9)
|
|
199
|
+
skipped = int(np.isnan(tidx).sum())
|
|
200
|
+
if skipped:
|
|
201
|
+
Logger.log.warning('%s: %d of %d rows of value are not on the series time index and were skipped'
|
|
202
|
+
% (self.relpath, skipped, len(tidx)))
|
|
203
|
+
sidx = self.columns.get_indexer(value.columns).astype(np.float64)
|
|
204
|
+
self.setValuesJit(self.shf, tidx, sidx, np.asarray(value.to_numpy(), dtype=np.float64))
|
|
205
|
+
self.shf.flush()
|
|
206
|
+
|
|
191
207
|
def _write_values_locked(self, index, columns, values, *, add_columns, flush):
|
|
192
208
|
index = pd.DatetimeIndex(index)
|
|
193
209
|
columns = pd.Index(columns)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shareddata-6.85.4 → shareddata-6.85.6}/src/SharedData/Web/assets/dashAgGridComponentFunctions.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|