src/ldtplatform/management/commands/replacedelete.py
changeset 324 dffa18e6cba4
parent 323 bdffbceb0730
child 327 c3998a528fd9
equal deleted inserted replaced
323:bdffbceb0730 324:dffa18e6cba4
    67 
    67 
    68     def handle(self, *args, **options):
    68     def handle(self, *args, **options):
    69         '''
    69         '''
    70         handle
    70         handle
    71         '''
    71         '''
    72         if options['f']:
       
    73             infos = open('results.txt', 'w')
       
    74             parser = etree.XMLParser(encoding='utf-8')
       
    75             files1 = models.Media.objects.all() #this list contains every media
       
    76             for elem1 in files1:
       
    77                 if numberofcontents(elem1) == 0:
       
    78                     elem1.delete()  #if there is no content
       
    79                        #linked to the media, the media is removed for the database
       
    80                     self.stdout.write(" No content found, media has been removed")
       
    81         else:
       
    82             infos = open('projectsToChange.txt', 'w')
       
    83         forcsv = [[
    72         forcsv = [[
    84             "Source link",
    73             "Source link",
    85             "Tried link",
    74             "Tried link",
    86             "Change ?",
    75             "Change ?",
    87             "Request status",
    76             "Request status",
    88             "Informations",
    77             "Informations",
    89             "Number of contents",
    78             "Number of contents",
    90             "Number of projects"
    79             "Number of projects"
    91             ]]
    80             ]]
       
    81 
       
    82         j=0
       
    83         files1 = models.Media.objects.all() #this list contains every media
       
    84         for elem1 in files1:
       
    85             if numberofcontents(elem1) == 0:
       
    86                 if options['f']:
       
    87                     elem1.delete()  #if there is no content
       
    88                     #linked to the media, the media is removed for the database
       
    89                     self.stdout.write(" No content found, media has been removed")
       
    90                 else:
       
    91                     forcsv += [[
       
    92                     elem1.src,
       
    93                     "XXX",
       
    94                     "XXX",
       
    95                     "XXX",
       
    96                     "NO CONTENT : media will be erased",
       
    97                     "0",
       
    98                     "0"
       
    99                     ]]
       
   100                 j += 1
       
   101         if options['f']:
       
   102             self.stdout.write("%s files deleted"%j)
       
   103             infos = open('results.txt', 'w')
       
   104             parser = etree.XMLParser(encoding='utf-8')
       
   105         else:
       
   106             self.stdout.write("%s files to delete"%j)
       
   107             infos = open('projectsToChange.txt', 'w')
    92         i = 0
   108         i = 0
    93         files = list(chain(
   109         files = list(chain(
    94             models.Media.objects.filter(src__iregex=r".*.flv$"),
   110             models.Media.objects.filter(src__iregex=r".*.flv$"),
    95             models.Media.objects.filter(src__iregex=r".*.f4v$"),
   111             models.Media.objects.filter(src__iregex=r".*.f4v$"),
    96             models.Media.objects.filter(src__iregex=r".*.mp4$").exclude(src__iregex=r"^https://.*")
   112             models.Media.objects.filter(src__iregex=r".*.mp4$").exclude(src__iregex=r"^https://.*")
    97         ))
   113         ))
    98         logger = logging.getLogger(__name__)
   114         logger = logging.getLogger(__name__)
    99         for elem in files:
   115         for elem in files:
   100             self.stdout.write(" \n%s/%s files done"%(i+1, len(files)), ending='')
   116             self.stdout.write(" \n%s/%s files done"%(i+1, len(files)), ending='')
   101             i += 1
   117             i += 1
       
   118             if numberofcontents(elem) == 0:
       
   119                 self.stdout.write(" no content",ending='')
       
   120                 continue
   102             mysrc = elem.src
   121             mysrc = elem.src
   103             newsource = tohttps(elem.src, elem.videopath)
   122             newsource = tohttps(elem.src, elem.videopath)
   104             try:
   123             try:
   105                 res = requests.head(newsource, timeout=10).status_code
   124                 res = requests.head(newsource, timeout=10).status_code
   106             except requests.ConnectionError:
   125             except requests.ConnectionError: