src/ldtplatform/management/commands/replacedelete.py
changeset 330 61a9b0c4dac4
parent 327 c3998a528fd9
child 331 509b57af708d
equal deleted inserted replaced
329:d0cbd6820f2f 330:61a9b0c4dac4
    20 #by a new one, beginning with "http" and ending with ".mp4"
    20 #by a new one, beginning with "http" and ending with ".mp4"
    21 def tohttps(source, vidpath, tomp4=1):
    21 def tohttps(source, vidpath, tomp4=1):
    22     '''
    22     '''
    23     to https
    23     to https
    24     '''
    24     '''
    25     if source[len(source)-3:len(source)] == 'MP4' or source[len(source)-3:len(source)] == 'mp4':
    25     if source[len(source)-3:len(source)] == 'MP4' or source[len(source)-3:len(source)] == 'mp4' or not re.match(r".*\..{3}$", source):
    26         tomp4 = 0
    26         tomp4 = 0
    27     if tomp4 == 1:
    27     if tomp4 == 1:
    28         source = source[0:len(source)-3]+"mp4"
    28         source = source[0:len(source)-3]+"mp4"
    29     if source[0:5] == "https":
    29     if source[0:5] == "https":
    30         return source
    30         return source
    37     elif vidpath == 'rtmp://media.iri.centrepompidou.fr/ddc_player/video/regardssignes/' or \
    37     elif vidpath == 'rtmp://media.iri.centrepompidou.fr/ddc_player/video/regardssignes/' or \
    38         vidpath == 'rtmp://media.iri.centrepompidou.fr/ddc_player/mp4:video/regardssignes/':
    38         vidpath == 'rtmp://media.iri.centrepompidou.fr/ddc_player/mp4:video/regardssignes/':
    39         return "https://media.iri.centrepompidou.fr/video/regardssignes/"+source
    39         return "https://media.iri.centrepompidou.fr/video/regardssignes/"+source
    40     elif source[0:4] == "mp4:":
    40     elif source[0:4] == "mp4:":
    41         if vidpath == 'rtmp://media.iri.centrepompidou.fr/ddc_player/':
    41         if vidpath == 'rtmp://media.iri.centrepompidou.fr/ddc_player/':
    42             return "https://media.iri.centrepompidou.fr/" + source[4:]
    42             if re.match(r".*\..{3}$", source):
       
    43                 return "https://media.iri.centrepompidou.fr/" + source[4:]
       
    44             else:
       
    45                 return "https://media.iri.centrepompidou.fr/" + source[4:] + ".mp4"
    43     return "https://media.iri.centrepompidou.fr/video/ldtplatform/"+source
    46     return "https://media.iri.centrepompidou.fr/video/ldtplatform/"+source
       
    47 
    44 
    48 
    45 def numberofcontents(source):    #this counts the number of contents linked to a media
    49 def numberofcontents(source):    #this counts the number of contents linked to a media
    46     '''
    50     '''
    47     numberofcontents
    51     numberofcontents
    48     '''
    52     '''
   173         i = 0
   177         i = 0
   174         files = list(chain(
   178         files = list(chain(
   175             models.Media.objects.filter(src__iregex=r".*.flv$"),
   179             models.Media.objects.filter(src__iregex=r".*.flv$"),
   176             models.Media.objects.filter(src__iregex=r".*.f4v$"),
   180             models.Media.objects.filter(src__iregex=r".*.f4v$"),
   177             models.Media.objects.filter(src__iregex=r".*.m4v$"),
   181             models.Media.objects.filter(src__iregex=r".*.m4v$"),
   178             models.Media.objects.filter(src__iregex=r".*.mp4$").exclude(src__iregex=r"^https://.*")
   182             models.Media.objects.filter(src__iregex=r".*.mp4$").exclude(src__iregex=r"^https://.*"),
       
   183             models.Media.objects.filter(src__iregex=r"^mp4:.*").exclude(src__iregex=r".*\..{3}$")
   179         ))
   184         ))
   180 
   185 
   181         for elem in files:
   186         for elem in files:
       
   187             self.stdout.write("%s"%elem.src)
   182             self.stdout.write(" \n%s/%s files done"%(i+1, len(files)), ending='')
   188             self.stdout.write(" \n%s/%s files done"%(i+1, len(files)), ending='')
   183             i += 1
   189             i += 1
   184             if numberofcontents(elem) == 0:
   190             if numberofcontents(elem) == 0:
   185                 self.stdout.write(" no content", ending='')
   191                 self.stdout.write(" no content", ending='')
   186                 continue
   192                 continue
   187             mysrc = elem.src
   193             mysrc = elem.src
   188             newsource = tohttps(elem.src, elem.videopath)
   194             newsource = tohttps(elem.src, elem.videopath)
       
   195             self.stdout.write("%s"%newsource)
   189             try:
   196             try:
   190                 res = requests.head(newsource, timeout=10).status_code
   197                 res = requests.head(newsource, timeout=10).status_code
   191             except requests.ConnectionError:
   198             except requests.ConnectionError:
   192                 self.stdout.write(" connection error", ending='')
   199                 self.stdout.write(" connection error", ending='')
   193                 logger.error("CONNECTION ERROR FOR %s", elem.title)
   200                 logger.error("CONNECTION ERROR FOR %s", elem.title)