def get_item_title(item): kind = get_item_kind_from_item(item) if kind not in ("episode", "movie"): return if kind == "episode": return get_plex_item_display_title(item, "show", parent=item.season, section_title=None, parent_title=item.show.title) else: return get_plex_item_display_title(item, kind, section_title=None)
def get_item_title(item): kind = get_item_kind_from_item(item) if kind not in ("episode", "movie", "season", "series"): return if kind == "episode": return get_plex_item_display_title(item, "show", parent=item.season, section_title=None, parent_title=item.show.title) elif kind == "season": return get_plex_item_display_title(item, "season", parent=item.show, section_title="Season", parent_title=item.show.title) else: return get_plex_item_display_title(item, kind, section_title=None)
def get_items(key="recently_added", base="library", value=None, flat=False, add_section_title=False): """ try to handle all return types plex throws at us and return a generalized item tuple """ items = [] apply_value = None if value: if isinstance(value, types.ListType): apply_value = value else: apply_value = [value] result = getattr(Plex[base], key)(*(apply_value or [])) for item in result: cls = getattr(getattr(item, "__class__"), "__name__") if hasattr(item, "scanner"): kind = "section" elif cls == "Directory": kind = "directory" else: kind = item.type # only return items for our enabled sections section_key = None if kind == "section": section_key = item.key else: if hasattr(item, "section_key"): section_key = getattr(item, "section_key") if section_key and section_key not in config.enabled_sections: continue if kind == "season": # fixme: i think this case is unused now if flat: # return episodes for child in item.children(): items.append(("episode", get_plex_item_display_title(child, "show", parent=item, add_section_title=add_section_title), int(item.rating_key), False, child)) else: # return seasons items.append(("season", item.title, int(item.rating_key), True, item)) elif kind == "directory": items.append(("directory", item.title, item.key, True, item)) elif kind == "section": if item.type in ['movie', 'show']: item.size = get_section_size(item.key) items.append(("section", item.title, int(item.key), True, item)) elif kind == "episode": items.append( (kind, get_plex_item_display_title(item, "show", parent=item.season, parent_title=item.show.title, section_title=item.section.title, add_section_title=add_section_title), int(item.rating_key), False, item)) elif kind in ("movie", "artist", "photo"): items.append((kind, get_plex_item_display_title(item, kind, section_title=item.section.title, add_section_title=add_section_title), int(item.rating_key), False, item)) elif kind == "show": items.append(( kind, get_plex_item_display_title(item, kind, section_title=item.section.title, add_section_title=add_section_title), int(item.rating_key), True, item)) return items
def get_items(key="recently_added", base="library", value=None, flat=False, add_section_title=False): """ try to handle all return types plex throws at us and return a generalized item tuple """ items = [] apply_value = None if value: if isinstance(value, types.ListType): apply_value = value else: apply_value = [value] result = getattr(Plex[base], key)(*(apply_value or [])) for item in result: cls = getattr(getattr(item, "__class__"), "__name__") if hasattr(item, "scanner"): kind = "section" elif cls == "Directory": kind = "directory" else: kind = item.type # only return items for our enabled sections section_key = None if kind == "section": section_key = item.key else: if hasattr(item, "section_key"): section_key = getattr(item, "section_key") if section_key and section_key not in config.enabled_sections: continue if kind == "season": # fixme: i think this case is unused now if flat: # return episodes for child in item.children(): items.append(("episode", get_plex_item_display_title( child, "show", parent=item, add_section_title=add_section_title), int(item.rating_key), False, child)) else: # return seasons items.append( ("season", item.title, int(item.rating_key), True, item)) elif kind == "directory": items.append(("directory", item.title, item.key, True, item)) elif kind == "section": if item.type in ['movie', 'show']: item.size = get_section_size(item.key) items.append( ("section", item.title, int(item.key), True, item)) elif kind == "episode": items.append((kind, get_plex_item_display_title( item, "show", parent=item.season, parent_title=item.show.title, section_title=item.section.title, add_section_title=add_section_title), int(item.rating_key), False, item)) elif kind in ("movie", "artist", "photo"): items.append((kind, get_plex_item_display_title( item, kind, section_title=item.section.title, add_section_title=add_section_title), int(item.rating_key), False, item)) elif kind == "show": items.append((kind, get_plex_item_display_title( item, kind, section_title=item.section.title, add_section_title=add_section_title), int(item.rating_key), True, item)) return items