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