def show_folders(section, media_id): section = Section.find(section) scraper = container.scraper() meta_cache = container.meta_cache() meta = meta_cache.setdefault(media_id, {}) plugin.set_content("movies") folders = scraper.get_folders_cached(section, media_id) total_size = sum(f.size for f in folders) meta["total_size"] = total_size for f in folders: if len(f.files) == 1 and not meta.get("is_series"): item = itemify_file(f.files[0], can_mark_watched=1) item["label"] = tf.folder_file_title(f, f.files[0]) item["context_menu"] += library_context_menu(section, media_id, f.id) else: item = itemify_folder(f) plugin.add_item(item) plugin.finish(sort_methods=["unsorted", "title", "duration", "size"])
def itemify_folder(f): """ :type f: Folder :rtype: dict """ item = { 'label': tf.folder_title(f), 'path': plugin.url_for('show_files', section=f.section.filter_val, media_id=f.media_id, folder_id=f.id), 'context_menu': refresh_context_menu(f.media_id) + download_torrent_context_menu(f.link) + library_context_menu(f.section, f.media_id, f.id), 'info': { 'size': f.size, }, 'stream_info': { 'video': { 'width': f.fmt.width, 'height': f.fmt.height, }, } } return with_fanart(item)