From: Guillaume Pellerin Date: Mon, 18 Jul 2022 08:52:14 +0000 (+0200) Subject: fix medias import command, add migrations X-Git-Tag: 2.8.1-pro~103 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=75587894a63446b613aa339e45bca73b9f3a13d3;p=teleforma.git fix medias import command, add migrations --- diff --git a/app/settings.py b/app/settings.py index e89e9d19..7c438b48 100644 --- a/app/settings.py +++ b/app/settings.py @@ -246,10 +246,10 @@ POSTMAN_DISALLOW_ANONYMOUS = True #FILE_PROTECTION_METHOD = 'xsendfile' -TELEFORMA_ORGANIZATION = 'Pro-Barreau' -TELEFORMA_SUBJECTS = ('Barreau', 'e-learning') -TELEFORMA_DESCRIPTION = "E-learning Pro-Barreau" -TELEFORMA_E_LEARNING_TYPE = 'AE' +TELEFORMA_MASTER_HOST = 'https://staging.el.pro-barreau.parisson.com/' +TELEFORMA_ORGANIZATION = "Pro Barreau" +TELEFORMA_DESCRIPTION = "Pro Barreau" +DEMO_SEMINAR = 59 EMAIL_HOST = 'pb-smtp.pilotsystems.net' EMAIL_PORT = 465 diff --git a/teleforma/management/commands/teleforma-import-seminar-media-update.py b/teleforma/management/commands/teleforma-import-seminar-media-update.py index 24ae4390..2b8a586b 100644 --- a/teleforma/management/commands/teleforma-import-seminar-media-update.py +++ b/teleforma/management/commands/teleforma-import-seminar-media-update.py @@ -110,11 +110,11 @@ class Command(BaseCommand): return item def handle(self, *args, **options): - organization_name = options['organization-name'] - period_name = options['period-name'] - media_dir = options['media-dir'] + organization_name = options['organization_name'] + period_name = options['period_name'] + media_dir = options['media_dir'] domain = options['domain'] - logfile = options['logfile'] + log_file = options['logfile'] logger = Logger(log_file) @@ -183,17 +183,16 @@ class Command(BaseCommand): seminar.title = course.title seminar.status = 1 seminar.save() - - # cleanup old media - for media in seminar.medias.all(): - seminar.medias.remove(media) # if not item.file == path and not items_webm: logger.logger.info(seminar.public_url()) logger.logger.info(path) - if not seminar in seminars: + if c and not seminar in seminars: seminars.append(seminar) + # cleanup old media + for media in seminar.medias.all(): + seminar.medias.remove(media) media, c = Media.objects.get_or_create(course=course, type=ext, @@ -214,12 +213,12 @@ class Command(BaseCommand): r_path = dir + os.sep + file filename, extension = os.path.splitext(file) if extension[1:] in self.image_formats: - media.file = r_path + media.poster_file = r_path elif extension[1:] in self.transcoded_formats and not extension[1:] in self.original_format: transcoded, c = MediaTranscoded.objects.get_or_create(item=media, file=r_path) elif extension[1:] == 'kdenlive': media.session_file = r_path - media.parse_markers(from_first_marker=False) + #media.parse_markers(from_first_marker=False) logger.logger.info(r_path) media.save() @@ -245,11 +244,13 @@ class Command(BaseCommand): for file in files: r_path = r_dir + os.sep + file filename, extension = os.path.splitext(file) + if extension[1:] in self.image_formats: + media_preview.poster_file = r_path if extension[1:] in self.original_format and not '.' == filename[0]: media_preview.file = r_path logger.logger.info(r_path) elif extension[1:] in self.transcoded_formats: - transcoded, c = MediaItemTranscoded.objects.get_or_create(item=media_preview, file=r_path) + transcoded, c = MediaTranscoded.objects.get_or_create(item=media_preview, file=r_path) logger.logger.info(r_path) media_preview.save() diff --git a/teleforma/migrations/0006_media_session_file.py b/teleforma/migrations/0006_media_session_file.py new file mode 100644 index 00000000..7a80e390 --- /dev/null +++ b/teleforma/migrations/0006_media_session_file.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.3 on 2022-07-18 10:12 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('teleforma', '0005_auto_20220117_1756'), + ] + + operations = [ + migrations.AddField( + model_name='media', + name='session_file', + field=models.FileField(max_length=1024, null=True, upload_to='items/%Y/%m/%d', verbose_name='session file'), + ), + ] diff --git a/teleforma/migrations/0007_auto_20220718_1021.py b/teleforma/migrations/0007_auto_20220718_1021.py new file mode 100644 index 00000000..1fc46726 --- /dev/null +++ b/teleforma/migrations/0007_auto_20220718_1021.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.3 on 2022-07-18 10:21 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('teleforma', '0006_media_session_file'), + ] + + operations = [ + migrations.AlterField( + model_name='document', + name='is_published', + field=models.BooleanField(default=False, verbose_name='published'), + ), + migrations.AlterField( + model_name='media', + name='is_published', + field=models.BooleanField(default=False, verbose_name='published'), + ), + ] diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 2cc0c993..492c4bee 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -434,7 +434,7 @@ class MediaBase(ClonableMixin, Model): date_added = DateTimeField(_('date added'), auto_now_add=True) date_modified = DateTimeField(_('date modified'), auto_now=True) code = CharField(_('code'), max_length=255, blank=True) - is_published = BooleanField(_('published')_default=False) + is_published = BooleanField(_('published'), default=False) mime_type = CharField(_('mime type'), max_length=255, blank=True) weight = models.IntegerField(_('weight'), choices=WEIGHT_CHOICES, default=1, null=True, blank=True) notes = GenericRelation(Note)