def all_done(result_list):
     for __, (data, item) in result_list:
         tmp_list = []
         for stream_dict in get_streams_from_manifest(item.url, data):
             video_item = PVideoResolved()
             video_item.subs = item.subs
             video_item.settings = item.settings.copy()
             video_item.url = stream_dict['url']
             video_item.quality = "%s b/s" % stream_dict['bandwidth']
             video_item.bandwidth = int(stream_dict['bandwidth'])
             if 'resolution' in stream_dict:
                 video_item.quality = stream_dict['resolution'].split(
                     'x')[1] + "p"
             # TODO remove workaround of embedding
             # quality in title in addons
             video_item.name = name = item.name
             quality = video_item.quality
             if quality and quality not in name:
                 if "[???]" in name:
                     video_item.name = name.replace(
                         "[???]", "[%s]" % (quality))
                 else:
                     video_item.name = "[%s] %s" % (i.quality, i.name)
             tmp_list.append(video_item)
         tmp_list.sort(key=operator.attrgetter('bandwidth'),
                       reverse=True)
         if tmp_list:
             log.info("%s __resolve_video_items: found %d streams" %
                      (self, len(tmp_list)))
             item_list.remove(item)
             item_list.extend(tmp_list)
     return result
Exemple #2
0
 def all_done(result_list):
     for __, (data, item) in result_list:
         tmp_list = []
         for stream_dict in get_streams_from_manifest(item.url, data):
             video_item = PVideoResolved()
             video_item.subs = item.subs
             video_item.settings = item.settings.copy()
             video_item.url = stream_dict['url']
             video_item.quality = "%s b/s"%stream_dict['bandwidth']
             video_item.bandwidth = int(stream_dict['bandwidth'])
             if 'resolution' in stream_dict:
                 video_item.quality = stream_dict['resolution'].split('x')[1] + "p"
             # TODO remove workaround of embedding
             # quality in title in addons
             video_item.name = name = item.name
             quality = video_item.quality
             if quality and quality not in name:
                 if "[???]" in name:
                     video_item.name = name.replace("[???]","[%s]"%(quality))
                 else:
                     video_item.name = "[%s] %s"%(i.quality, i.name)
             tmp_list.append(video_item)
         tmp_list.sort(key=operator.attrgetter('bandwidth'), reverse=True)
         if tmp_list:
             log.info("%s __resolve_video_items: found %d streams"%(self, len(tmp_list)))
             item_list.remove(item)
             item_list.extend(tmp_list)
     return result