1

该代码的想法是按索引顺序将未观看的 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('动漫播放列表').addItems(first_ep_name)

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

4

1 回答 1

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 然后它将附加到一个空列表中,稍后我将用于创建/添加到播放列表。

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

于 2021-12-05T02:46:20.820 回答