Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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