Merged migrations into one file

main
Maya 6 years ago
parent 3b9b1c686f
commit 43c2c6ea87

@ -1,8 +1,24 @@
# Generated by Django 2.2.13 on 2020-08-13 05:49
from cvat.apps.engine.media_extractors import _is_archive, _is_zip
import cvat.apps.engine.models
from django.conf import settings
from django.db import migrations, models
import os
from pyunpack import Archive
def unzip(apps, schema_editor):
Data = apps.get_model("engine", "Data")
data_q_set = Data.objects.all()
archive_paths = []
for data_instance in data_q_set:
for root, _, files in os.walk(os.path.join(settings.MEDIA_DATA_ROOT, '{}/raw/'.format(data_instance.id))):
archive_paths.extend([os.path.join(root, file) for file in files if _is_archive(file) or _is_zip(file)])
for path in archive_paths:
Archive(path).extractall(os.path.dirname(path))
os.remove(path)
class Migration(migrations.Migration):
@ -16,4 +32,5 @@ class Migration(migrations.Migration):
name='storage_method',
field=models.CharField(choices=[('cache', 'CACHE'), ('file_system', 'FILE_SYSTEM')], default=cvat.apps.engine.models.StorageMethodChoice('file_system'), max_length=15),
),
migrations.RunPython(unzip),
]

@ -1,53 +0,0 @@
from django.db import migrations
from django.conf import settings
import os
from cvat.apps.engine.mime_types import mimetypes
from pyunpack import Archive
def unzip(apps, schema_editor):
Data = apps.get_model("engine", "Data")
data_q_set = Data.objects.all()
archive_paths = []
archive_mimes = [
'application/gzip',
'application/rar'
'application/x-7z-compressed',
'application/x-bzip',
'application/x-bzip-compressed-tar',
'application/x-compress',
'application/x-compressed-tar',
'application/x-cpio',
'application/x-gtar-compressed',
'application/x-lha',
'application/x-lhz',
'application/x-lrzip-compressed-tar',
'application/x-lz4',
'application/x-lzip',
'application/x-lzip-compressed-tar',
'application/x-lzma',
'application/x-lzma-compressed-tar',
'application/x-lzop',
'application/x-tar',
'application/x-tarz',
'application/x-tzo',
'application/x-xz-compressed-tar',
'application/zip',
]
for data_instance in data_q_set:
for root, _, files in os.walk(os.path.join(settings.MEDIA_DATA_ROOT, '{}/raw/'.format(data_instance.id))):
archive_paths.extend([os.path.join(root, file) for file in files if mimetypes.guess_type(file)[0] in archive_mimes])
for path in archive_paths:
Archive(path).extractall(os.path.dirname(path))
os.remove(path)
class Migration(migrations.Migration):
dependencies = [
('engine', '0028_data_storage_method'),
]
operations = [
migrations.RunPython(unzip)
]
Loading…
Cancel
Save