AI-Sensus / M-MOVE-IT

M-MOVE-IT is multi-type data labeling and annotation tool with standardized output format. This till simplifies the proces for multimodal annotation and synchronizes sensors. This repo is forked from labelstudio.
Apache License 2.0
0 stars 2 forks source link

Export annotations not working #267

Closed jacob-kamminga closed 3 months ago

jacob-kamminga commented 3 months ago
Describe the bug `

RuntimeError at /landingpage/1/export_project

File size unexpectedly exceeded ZIP64 limit
Request Method:
POST

http://127.0.0.1:8080/landingpage/1/export_project 3.1.14 RuntimeError File size unexpectedly exceeded ZIP64 limit C:\Users\KammingaJW\AppData\Local\Programs\Python\Python39\lib\zipfile.py, line 1158, in close C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\venv\Scripts\python.exe 3.9.7 ['C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\label_studio', 'C:\Users\KammingaJW\AppData\Local\Programs\Python\Python39\python39.zip', 'C:\Users\KammingaJW\AppData\Local\Programs\Python\Python39\DLLs', 'C:\Users\KammingaJW\AppData\Local\Programs\Python\Python39\lib', 'C:\Users\KammingaJW\AppData\Local\Programs\Python\Python39', 'C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\venv', 'C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\venv\lib\site-packages', 'c:\users\kammingajw\pycharmprojects\label-studio-aisensus'] Wed, 20 Mar 2024 19:55:07 +0000`

To Reproduce Steps to reproduce the behavior:

  1. Annotated a few video chunks (same amount as before, export worked back then)
  2. Go to export page (latest version that has the table)
  3. Click export

Request Method: POST Request URL: http://127.0.0.1:8080/landingpage/1/export_project

Django Version: 3.1.14 Python Version: 3.9.7 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'drf_yasg', 'corsheaders', 'django_extensions', 'django_rq', 'django_filters', 'rules', 'annoying', 'rest_framework', 'rest_framework_swagger', 'rest_framework.authtoken', 'drf_generators', 'core', 'users', 'organizations', 'data_import', 'data_export', 'projects', 'tasks', 'data_manager', 'io_storages', 'ml', 'webhooks', 'sensormodel', 'subjectannotation', 'sensordata', 'landingpage', 'taskgeneration'] Installed Middleware: ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'core.middleware.DisableCSRF', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'core.middleware.CommonMiddlewareAppendSlashWithoutRedirect', 'core.middleware.CommonMiddleware', 'django_user_agents.middleware.UserAgentMiddleware', 'core.middleware.SetSessionUIDMiddleware', 'core.middleware.ContextLogMiddleware', 'core.middleware.DatabaseIsLockedRetryMiddleware', 'organizations.middleware.DummyGetSessionMiddleware', 'core.middleware.UpdateLastActivityMiddleware']

Traceback (most recent call last): File "C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner response = get_response(request) File "C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, *callback_kwargs) File "C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\venv\lib\site-packages\sentry_sdk\integrations\django\views.py", line 84, in sentry_wrapped_callback return callback(request, args, **kwargs) File "C:\Users\KammingaJW\PycharmProjects\label-studio-AISensus\label_studio\landingpage\views.py", line 221, in exportProject subject_data_file.write(f.read()) File "C:\Users\KammingaJW\AppData\Local\Programs\Python\Python39\lib\zipfile.py", line 1158, in close raise RuntimeError(

Exception Type: RuntimeError at /landingpage/1/export_project Exception Value: File size unexpectedly exceeded ZIP64 limit

RobvdDuim commented 3 months ago

When creating a zipfile in a with block, you have to explicitly allow allowZip64 by setting allowZip64=True.

with zipfile.ZipFile(zip_file_path, 'w', allowZip64=True ) as zipf:

EriktHove commented 3 months ago