帮酷LOGO
  • 显示原文与译文双语对照的内容
Fork of python-plexapi to add features needed for mopidy-plex

  • 源代码名称:python-plexapi
  • 源代码网址:http://www.github.com/pkkid/python-plexapi
  • python-plexapi源代码文档
  • python-plexapi源代码下载
  • Git URL:
    git://www.github.com/pkkid/python-plexapi.git
  • Git Clone代码到本地:
    git clone http://www.github.com/pkkid/python-plexapi
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/pkkid/python-plexapi
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • python-plexapi https://readthedocs.org/projects/python-plexapi/badge/?version=latesthttps://travis-ci.org/pkkid/python-plexapi.svg?branch=masterhttps://coveralls.io/repos/github/pkkid/python-plexapi/badge.svg?branch=master

    概述

    Plex API的非官方 python 绑定。 我们的目标是匹配官方Plex客户端的所有功能。 我们目前支持的许多功能包括:

    • 导航本地或者远程共享库。
    • 执行库操作,如扫描,分析,清空回收站。
    • 远程控制和播放已经连接客户端上的媒体。
    • 监听所有丛服务器通知。

    安装&文档

    pip install plexapi

    文档可以在阅读文档时找到。

    获取PlexServer实例

    有两种类型的身份验证。 如果你在单独的网络上运行,或者使用丛用户,你可以登录到MyPlex以获取PlexServer实例。 下面是一个例子。 注意:下面的Servername是服务器( 。不是主机名和端口)的名称。 如果登录到Plex站点,你可以在可用库上方的上方看到服务器名。

    from plexapi.myplex import MyPlexAccount
    account = MyPlexAccount('<USERNAME>', '<PASSWORD>')
    plex = account.resource('<SERVERNAME>').connect() # returns a PlexServer instance

    如果要避免登录 MyPlex,并且已经经知道身份验证令牌字符串,可以以直接使用PlexServer对象。

    from plexapi.server import PlexServer
    baseurl ='http://plexserver:32400'token ='2ffLuB84dqLswk9skLos'plex = PlexServer(baseurl, token)

    用法示例

    # Example 1: List all unwatched movies.movies = plex.library.section('Movies')for video in movies.search(unwatched=True):
     print(video.title)
    # Example 2: Mark all Game of Thrones episodes watched.plex.library.section('TV Shows').get('Game of Thrones').markWatched()
    # Example 3: List all clients connected to the Server.for client in plex.clients():
     print(client.title)
    # Example 4: Play the movie Cars on another client.# Note: Client must be on same network as server.cars = plex.library.section('Movies').get('Cars')
    client = plex.client("Michael's iPhone")
    client.playMedia(cars)
    # Example 5: List all content with the word 'Game' in the title.for video in plex.search('Game'):
     print('%s (%s)'% (video.title, video.TYPE))
    # Example 6: List all movies directed by the same person as Elephants Dream.movies = plex.library.section('Movies')
    die_hard = movies.get('Elephants Dream')
    director = die_hard.directors[0]for movie in movies.search(None, director=director):
     print(movie.title)
    # Example 7: List files for the latest episode of The 100.last_episode = plex.library.section('TV Shows').get('The 100').episodes()[-1]for part in last_episode.iterParts():
     print(part.file)
    # Example 8: Get a URL to stream a movie or show in another clientdie_hard = plex.library.section('Movies').get('Elephants Dream')print('Run running the following command to play in VLC:')print('vlc"%s"'% die_hard.getStreamURL(videoResolution='800x600'))
    # Example 9: Get audio/video/all playlistsfor playlist in plex.playlists():
     print(playlist.title)

    常见问题

    你为什么使用而不遵循PEP8准则?

    这个API读取由MyPlex和Plex服务器提供的XML文档。 为了直接与提供的XML文档匹配,我们决定遵循它们的样式。

    你为什么不提供功能 XYZ

    这个库是Plex服务器提供的XML页面的包装器。 如果我们不提供XML页面中的offerered,请让我们知道 ! 在这个库的范围之外,--添加额外的特性应该在这个范围之外。

    如果试图理解原始的丛 API,有什么有用的链接?




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语