]> git.parisson.com Git - teleforma.git/commitdiff
fix more than 1 digit for seminar rank, fix multiple same media, add prints for dev
authorGuillaume Pellerin <guillaume.pellerin@parisson.com>
Tue, 30 Aug 2022 13:47:48 +0000 (15:47 +0200)
committerGuillaume Pellerin <guillaume.pellerin@parisson.com>
Tue, 30 Aug 2022 13:47:48 +0000 (15:47 +0200)
teleforma/management/commands/teleforma-import-seminar-media-update.py

index ca7db9a216e27ce8394ae78950dae692db6d0646..09154fb2a167de65cdc69188c0a3729535c0598b 100644 (file)
@@ -149,11 +149,25 @@ class Command(BaseCommand):
                         and not 'preview' in filename and not 'Preview' in filename and filename[0] != '.' \
                         and statinfo.st_size > self.size_limit:
 
-                    # seminar_rank <= 9
-                    seminar_rank = int(root_list[-1][0])
-
-                    if len(root_list[-1]) != 1:
-                        rank = root_list[-1][1:]
+                    seminar_rank = root_list[-1]
+                    print(seminar_rank)
+                    if seminar_rank.isdigit():
+                       media_rank_offset = 0
+                    elif seminar_rank[0:2].isdigit():
+                       seminar_rank = root_list[-1][0:2]
+                       media_rank_offset = 2
+                    elif seminar_rank[0:1].isdigit():
+                       seminar_rank = root_list[-1][0:1]
+                       media_rank_offset = 1
+
+                    seminar_rank = int(seminar_rank)
+                    print(seminar_rank)
+
+                    # seminar_rank <= 9 
+                    #seminar_rank = int(root_list[-1][0])
+
+                    if media_rank_offset:
+                        rank = root_list[-1][media_rank_offset:]
                         media_rank = self.media_rank_dict[rank.replace('_', '')]
                         preview_trigger = False
                     else:
@@ -191,14 +205,22 @@ class Command(BaseCommand):
                     logger.logger.info(path)
 
                     # cleanup old media
+                    #print(delete)
+
                     if delete:
                         for media in seminar.medias.all():
                             seminar.medias.remove(media)
 
-                    print(path)
-                    media, c = Media.objects.get_or_create(course=course, file=path, type=ext)
+                    #print(path)
+                    
+                    medias = Media.objects.filter(course=course, file=path, type=ext)
+                    if medias.count() >= 1:
+                        c = False
+                    else:
+                        media, c = Media.objects.get_or_create(course=course, file=path, type=ext)
 
                     if c:
+                        print(path)
                         if not seminar in seminars:
                             seminars.append(seminar)
 
@@ -220,7 +242,8 @@ class Command(BaseCommand):
                                 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)
+                                print(r_path)
+                                media.parse_markers(from_first_marker=False)
                             logger.logger.info(r_path)
                         media.save()