[Python-modules-commits] [pychromecast] 01/03: Import pychromecast_0.7.4.orig.tar.gz
Ruben Undheim
rubund-guest at moszumanska.debian.org
Thu Sep 29 05:54:55 UTC 2016
This is an automated email from the git hooks/post-receive script.
rubund-guest pushed a commit to branch master
in repository pychromecast.
commit f49b1fe6f7f7d645822d3dd7bf34f1aa1b789449
Author: Ruben Undheim <ruben.undheim at gmail.com>
Date: Mon Sep 26 19:50:01 2016 +0200
Import pychromecast_0.7.4.orig.tar.gz
---
pychromecast/__init__.py | 13 ++++++++-----
pychromecast/controllers/media.py | 23 +++++++++++++++++++----
pychromecast/controllers/youtube.py | 2 +-
setup.py | 2 +-
4 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/pychromecast/__init__.py b/pychromecast/__init__.py
index f37fec8..3d1914f 100644
--- a/pychromecast/__init__.py
+++ b/pychromecast/__init__.py
@@ -54,7 +54,7 @@ def _get_all_chromecasts(tries=None, retry_wait=None, timeout=None):
device=device,
tries=tries, timeout=timeout,
retry_wait=retry_wait))
- except ChromecastConnectionError:
+ except ChromecastConnectionError: # noqa
pass
return cc_list
@@ -163,7 +163,7 @@ def get_chromecast(strict=False, tries=None, retry_wait=None, timeout=None,
if len(results) > 1:
if strict:
- raise MultipleChromecastsFoundError(
+ raise MultipleChromecastsFoundError( # noqa
'More than one Chromecast was found specifying '
'the filter criteria: {}'.format(filters))
else:
@@ -171,7 +171,7 @@ def get_chromecast(strict=False, tries=None, retry_wait=None, timeout=None,
elif not results:
if strict:
- raise NoChromecastFoundError(
+ raise NoChromecastFoundError( # noqa
'No Chromecasts matching filter critera were found:'
' {}'.format(filters))
else:
@@ -240,7 +240,7 @@ class Chromecast(object):
self.device = get_device_status(self.host)
if not self.device:
- raise ChromecastConnectionError(
+ raise ChromecastConnectionError( # noqa
"Could not connect to {}:{}".format(self.host, self.port))
self.status = None
@@ -404,7 +404,10 @@ class Chromecast(object):
self.socket_client.join(timeout=timeout)
def __del__(self):
- self.socket_client.stop.set()
+ try:
+ self.socket_client.stop.set()
+ except AttributeError:
+ pass
def __repr__(self):
txt = u"Chromecast({!r}, port={!r}, device={!r})".format(
diff --git a/pychromecast/controllers/media.py b/pychromecast/controllers/media.py
index 8260ac6..f627c9a 100644
--- a/pychromecast/controllers/media.py
+++ b/pychromecast/controllers/media.py
@@ -260,7 +260,7 @@ class MediaController(BaseController):
self.media_session_id = 0
self.status = MediaStatus()
-
+ self.app_id = APP_MEDIA_RECEIVER
self._status_listeners = []
def channel_connected(self):
@@ -395,7 +395,8 @@ class MediaController(BaseController):
def play_media(self, url, content_type, title=None, thumb=None,
current_time=0, autoplay=True,
stream_type=STREAM_TYPE_BUFFERED,
- metadata=None):
+ metadata=None, subtitles=None, subtitles_lang='en-US',
+ subtitles_mime='text/vtt', subtitle_id=1):
"""
Plays media on the Chromecast. Start default media receiver if not
already started.
@@ -410,6 +411,10 @@ class MediaController(BaseController):
autoplay: bool - whether the media will automatically play.
stream_type: str - describes the type of media artifact as one of the
following: "NONE", "BUFFERED", "LIVE".
+ subtitles: str - url of subtitle file to be shown on chromecast.
+ subtitles_lang: str - language for subtitles.
+ subtitles_mime: str - mimetype of subtitles.
+ subtitle_id: int - id of subtitle to be loaded.
metadata: dict - media metadata object, one of the following:
GenericMediaMetadata, MovieMediaMetadata, TvShowMediaMetadata,
MusicTrackMediaMetadata, PhotoMediaMetadata.
@@ -418,7 +423,7 @@ class MediaController(BaseController):
https://developers.google.com/cast/docs/reference/messages#MediaData
"""
- self._socket_client.receiver_controller.launch_app(APP_MEDIA_RECEIVER)
+ self._socket_client.receiver_controller.launch_app(self.app_id)
msg = {
'media': {
@@ -443,7 +448,17 @@ class MediaController(BaseController):
msg['media']['metadata']['images'] = []
msg['media']['metadata']['images'].append({'url': thumb})
-
+ if subtitles:
+ sub_msg = {
+ 'trackId': subtitle_id,
+ 'trackContentId': subtitles,
+ 'language': subtitles_lang,
+ 'subtype': 'SUBTITLES',
+ 'type': 'TEXT',
+ 'ttrackContentType': subtitles_mime,
+ 'name': "{} - {} Subtitle".format(subtitles_lang, subtitle_id)
+ }
+ msg['media']['tracks'] = sub_msg
self.send_message(msg, inc_session_id=True)
def tear_down(self):
diff --git a/pychromecast/controllers/youtube.py b/pychromecast/controllers/youtube.py
index 96e7054..70a7caf 100644
--- a/pychromecast/controllers/youtube.py
+++ b/pychromecast/controllers/youtube.py
@@ -11,7 +11,7 @@ ATTR_SCREEN_ID = "screenId"
class YouTubeController(BaseController):
- """ Controller to interact with Plex namespace. """
+ """ Controller to interact with Youtube namespace. """
def __init__(self):
super(YouTubeController, self).__init__(
diff --git a/setup.py b/setup.py
index 0d1bb1b..6bccf0f 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ long_description = open('README.rst').read()
setup(
name='PyChromecast',
- version='0.7.3',
+ version='0.7.4',
license='MIT',
url='https://github.com/balloob/pychromecast',
author='Paulus Schoutsen',
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pychromecast.git
More information about the Python-modules-commits
mailing list