add list of files without contents in mediaInformations.csv
authorbellierp
Tue, 07 Mar 2017 16:49:31 +0100
changeset 324 dffa18e6cba4
parent 323 bdffbceb0730
child 325 908a1f6faa27
add list of files without contents in mediaInformations.csv
src/ldtplatform/management/commands/replacedelete.py
--- a/src/ldtplatform/management/commands/replacedelete.py	Tue Mar 07 15:19:19 2017 +0100
+++ b/src/ldtplatform/management/commands/replacedelete.py	Tue Mar 07 16:49:31 2017 +0100
@@ -69,17 +69,6 @@
         '''
         handle
         '''
-        if options['f']:
-            infos = open('results.txt', 'w')
-            parser = etree.XMLParser(encoding='utf-8')
-            files1 = models.Media.objects.all() #this list contains every media
-            for elem1 in files1:
-                if numberofcontents(elem1) == 0:
-                    elem1.delete()  #if there is no content
-                       #linked to the media, the media is removed for the database
-                    self.stdout.write(" No content found, media has been removed")
-        else:
-            infos = open('projectsToChange.txt', 'w')
         forcsv = [[
             "Source link",
             "Tried link",
@@ -89,6 +78,33 @@
             "Number of contents",
             "Number of projects"
             ]]
+
+        j=0
+        files1 = models.Media.objects.all() #this list contains every media
+        for elem1 in files1:
+            if numberofcontents(elem1) == 0:
+                if options['f']:
+                    elem1.delete()  #if there is no content
+                    #linked to the media, the media is removed for the database
+                    self.stdout.write(" No content found, media has been removed")
+                else:
+                    forcsv += [[
+                    elem1.src,
+                    "XXX",
+                    "XXX",
+                    "XXX",
+                    "NO CONTENT : media will be erased",
+                    "0",
+                    "0"
+                    ]]
+                j += 1
+        if options['f']:
+            self.stdout.write("%s files deleted"%j)
+            infos = open('results.txt', 'w')
+            parser = etree.XMLParser(encoding='utf-8')
+        else:
+            self.stdout.write("%s files to delete"%j)
+            infos = open('projectsToChange.txt', 'w')
         i = 0
         files = list(chain(
             models.Media.objects.filter(src__iregex=r".*.flv$"),
@@ -99,6 +115,9 @@
         for elem in files:
             self.stdout.write(" \n%s/%s files done"%(i+1, len(files)), ending='')
             i += 1
+            if numberofcontents(elem) == 0:
+                self.stdout.write(" no content",ending='')
+                continue
             mysrc = elem.src
             newsource = tohttps(elem.src, elem.videopath)
             try: