【问题标题】:unable to append unwatched EPs to list无法将未观看的 EP 添加到列表中
【发布时间】:2021-11-18 03:15:35
【问题描述】:

代码的想法是按索引顺序将未观看的 EP 添加到现有播放列表中,ep 1 Show X,ep 1 Show Z,无论播出日期如何:

    from plexapi.server import PlexServer
    baseurl = 'http://0.0.0.0:0000/'
    token = '0000000000000'
    plex = PlexServer(baseurl, token)
    
episode = 0

first_ep_name = []
for x in plex.library.section('Anime').search(unwatched=True):
    try:
        for y in plex.library.section('Anime').get(x.title).episodes()[episode]:
            if plex.library.section('Anime').get(x.title).episodes()[episode].isWatched:
                episode +=1
                first_ep_name.append(y)

            else:
                episode = 0
                first_ep_name.append(y)

    except:
        continue

plex.playlist('Anime Playlist').addItems(first_ep_name)

但是当我运行它时,它总是会添加观看的 EP,但如果我在 Thoni IDE 中调试代码,它似乎正在达到它的目的,所以我不确定该代码有什么问题。

有什么想法吗?

我认为错误可能在这里:

plex.playlist('Anime Playlist').addItems(first_ep_name)

但根据文档 addItems 应该是一个列表,但我的列表“first_ep_name”已经以正确的顺序附加了未观看的剧集,理论上 addItems 应该识别特定的剧集,而不仅仅是系列名称,但我不确定了。

【问题讨论】:

    标签: python plex


    【解决方案1】:

    有人遇到与 plexapi 相同的问题吗?我能够找到一种方法让这个项目正常工作:

    from plexapi.server import PlexServer
    baseurl = 'insert plex url here'
    token = 'plex token here'
    plex = PlexServer(baseurl, token)
    anime_plex = []
    scrapped_playlist = []
    
    for x in plex.library.section('Anime').search(unwatched=True):
        anime_plex.append(x)
    
    while len(anime_plex) >0:
        episode_list = []
        for y in plex.library.section('Anime').get(anime_plex[0].title).episodes():
            episode_list.append(y)
        
        ep_checker = True 
        while ep_checker:
            if episode_list[0].isWatched:
                episode_list.pop(0)
            else:
                scrapped_playlist.append(episode_list[0])
                episode_list.clear()
                ep_checker = False
        anime_plex.pop(0)
        
    
    # plex.playlist('Anime Playlist').addItems(scrapped_playlist)
    
    
    plex.playlist('Anime Playlist').delete()
    plex.createPlaylist('Anime Playlist', section='Anime', items= scrapped_playlist)
    

    基本上,我正在使用该代码执行的操作是循环浏览我拥有的每个动漫系列,如果观看了 EP # X,则从列表中弹出,直到找到布尔值 FALSE,然后将其附加到一个空列表中,稍后我将用于创建/添加到播放列表。

    可以出于任何目的对代码的最后几行进行注释,例如创建播放列表动画或添加项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2020-12-28
      相关资源
      最近更新 更多