]> git.parisson.com Git - teleforma.git/commitdiff
fix medias import command, add migrations
authorGuillaume Pellerin <guillaume.pellerin@parisson.com>
Mon, 18 Jul 2022 08:52:14 +0000 (10:52 +0200)
committerGuillaume Pellerin <guillaume.pellerin@parisson.com>
Mon, 18 Jul 2022 08:52:14 +0000 (10:52 +0200)
app/settings.py
teleforma/management/commands/teleforma-import-seminar-media-update.py
teleforma/migrations/0006_media_session_file.py [new file with mode: 0644]
teleforma/migrations/0007_auto_20220718_1021.py [new file with mode: 0644]
teleforma/models/core.py

index e89e9d1999faaf05d35a61c0e06472b4b49acda2..7c438b48f6a3c550d93343fb1a6141128376f4f3 100644 (file)
@@ -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
index 24ae439017d7cc4aba83f6e80a260ea4062d6f97..2b8a586be9b5f2110304458a48bf10eccae692a7 100644 (file)
@@ -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 (file)
index 0000000..7a80e39
--- /dev/null
@@ -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 (file)
index 0000000..1fc4672
--- /dev/null
@@ -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'),
+        ),
+    ]
index 2cc0c99364887350afe214727a5a3d716996c470..492c4beeccd9f949ecd4b6d551e3860029e79ae0 100755 (executable)
@@ -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)