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) |